react-native-windows 0.85.0-preview.1 → 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 (910) hide show
  1. package/Directory.Build.props +1 -1
  2. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.cpp +28 -46
  3. package/Microsoft.ReactNative/Fabric/Composition/CompositionDynamicAutomationProvider.h +0 -3
  4. package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +19 -13
  5. package/Microsoft.ReactNative/Fabric/Composition/Modal/WindowsModalHostViewComponentView.cpp +107 -0
  6. package/Microsoft.ReactNative/Fabric/Composition/SelectionItemAutomationEvent.h +73 -0
  7. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.cpp +105 -32
  8. package/Microsoft.ReactNative/Fabric/Composition/UiaHelpers.h +7 -2
  9. package/PropertySheets/CIBuildOptimizations.props +2 -2
  10. package/PropertySheets/Generated/PackageVersion.g.props +2 -2
  11. package/PropertySheets/JSEngine.props +1 -1
  12. package/PropertySheets/NuGet.LockFile.props +2 -9
  13. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +54 -5
  14. package/Scripts/UpdateNightlyDependencies.ps1 +47 -0
  15. package/Scripts/creaternwapp.cmd +29 -9
  16. package/Scripts/creaternwlib.cmd +31 -15
  17. package/external/.clang-format +1 -0
  18. package/external/External.vcxitems +10 -0
  19. package/external/fast-float/.syncignore +10 -0
  20. package/external/fast-float/LICENSE-APACHE +190 -0
  21. package/external/fast-float/LICENSE-BOOST +23 -0
  22. package/external/fast-float/LICENSE-MIT +27 -0
  23. package/external/fast-float/README.md +545 -0
  24. package/external/fast-float/cgmanifest.json +15 -0
  25. package/external/fast-float/fast-float.vcxitems +14 -0
  26. package/external/fast-float/include/fast_float/ascii_number.h +588 -0
  27. package/external/fast-float/include/fast_float/bigint.h +638 -0
  28. package/external/fast-float/include/fast_float/constexpr_feature_detect.h +46 -0
  29. package/external/fast-float/include/fast_float/decimal_to_binary.h +212 -0
  30. package/external/fast-float/include/fast_float/digit_comparison.h +457 -0
  31. package/external/fast-float/include/fast_float/fast_float.h +59 -0
  32. package/external/fast-float/include/fast_float/fast_table.h +708 -0
  33. package/external/fast-float/include/fast_float/float_common.h +1240 -0
  34. package/external/fast-float/include/fast_float/parse_number.h +399 -0
  35. package/external/fast-float/sync-config.json +8 -0
  36. package/external/fmt/.syncignore +10 -0
  37. package/external/fmt/CONTRIBUTING.md +20 -0
  38. package/external/fmt/LICENSE +27 -0
  39. package/external/fmt/README.md +484 -0
  40. package/external/fmt/cgmanifest.json +15 -0
  41. package/external/fmt/doc/ChangeLog-old.md +3290 -0
  42. package/external/fmt/doc/api.md +650 -0
  43. package/external/fmt/doc/fmt.css +61 -0
  44. package/external/fmt/doc/fmt.js +4 -0
  45. package/external/fmt/doc/get-started.md +222 -0
  46. package/external/fmt/doc/index.md +151 -0
  47. package/external/fmt/doc/perf.svg +1 -0
  48. package/external/fmt/doc/python-license.txt +290 -0
  49. package/external/fmt/doc/syntax.md +887 -0
  50. package/external/fmt/fmt.vcxitems +28 -0
  51. package/external/fmt/include/fmt/args.h +228 -0
  52. package/external/fmt/include/fmt/base.h +3077 -0
  53. package/external/fmt/include/fmt/chrono.h +2432 -0
  54. package/external/fmt/include/fmt/color.h +612 -0
  55. package/external/fmt/include/fmt/compile.h +529 -0
  56. package/external/fmt/include/fmt/core.h +5 -0
  57. package/external/fmt/include/fmt/format-inl.h +1928 -0
  58. package/external/fmt/include/fmt/format.h +4427 -0
  59. package/external/fmt/include/fmt/os.h +439 -0
  60. package/external/fmt/include/fmt/ostream.h +211 -0
  61. package/external/fmt/include/fmt/printf.h +656 -0
  62. package/external/fmt/include/fmt/ranges.h +882 -0
  63. package/external/fmt/include/fmt/std.h +699 -0
  64. package/external/fmt/include/fmt/xchar.h +322 -0
  65. package/external/fmt/src/fmt.cc +135 -0
  66. package/external/fmt/src/format.cc +43 -0
  67. package/external/fmt/src/os.cc +403 -0
  68. package/external/fmt/sync-config.json +8 -0
  69. package/external/folly/.syncignore +60 -0
  70. package/external/folly/Folly.natvis +25 -0
  71. package/external/folly/LICENSE +200 -0
  72. package/external/folly/README.md +263 -0
  73. package/external/folly/cgmanifest.json +25 -0
  74. package/external/folly/folly/.clang-format +1 -0
  75. package/external/folly/folly/AtomicHashArray-inl.h +546 -0
  76. package/external/folly/folly/AtomicHashArray.h +431 -0
  77. package/external/folly/folly/AtomicHashMap-inl.h +653 -0
  78. package/external/folly/folly/AtomicHashMap.h +484 -0
  79. package/external/folly/folly/AtomicIntrusiveLinkedList.h +206 -0
  80. package/external/folly/folly/AtomicLinkedList.h +110 -0
  81. package/external/folly/folly/AtomicUnorderedMap.h +522 -0
  82. package/external/folly/folly/BUCK +1631 -0
  83. package/external/folly/folly/BUILD_MODE.bzl +72 -0
  84. package/external/folly/folly/Benchmark.cpp +986 -0
  85. package/external/folly/folly/Benchmark.h +680 -0
  86. package/external/folly/folly/BenchmarkUtil.h +47 -0
  87. package/external/folly/folly/Bits.h +17 -0
  88. package/external/folly/folly/CMakeLists.txt +110 -0
  89. package/external/folly/folly/CPortability.h +338 -0
  90. package/external/folly/folly/CancellationToken-inl.h +449 -0
  91. package/external/folly/folly/CancellationToken.cpp +250 -0
  92. package/external/folly/folly/CancellationToken.h +365 -0
  93. package/external/folly/folly/Chrono.h +132 -0
  94. package/external/folly/folly/ClockGettimeWrappers.cpp +93 -0
  95. package/external/folly/folly/ClockGettimeWrappers.h +29 -0
  96. package/external/folly/folly/ConcurrentBitSet.h +157 -0
  97. package/external/folly/folly/ConcurrentLazy.h +74 -0
  98. package/external/folly/folly/ConcurrentSkipList-inl.h +341 -0
  99. package/external/folly/folly/ConcurrentSkipList.h +824 -0
  100. package/external/folly/folly/ConstexprMath.h +978 -0
  101. package/external/folly/folly/ConstructorCallbackList.h +158 -0
  102. package/external/folly/folly/Conv.cpp +1205 -0
  103. package/external/folly/folly/Conv.h +2026 -0
  104. package/external/folly/folly/CppAttributes.h +170 -0
  105. package/external/folly/folly/CpuId.h +297 -0
  106. package/external/folly/folly/DefaultKeepAliveExecutor.h +172 -0
  107. package/external/folly/folly/Demangle.cpp +255 -0
  108. package/external/folly/folly/Demangle.h +73 -0
  109. package/external/folly/folly/DiscriminatedPtr.h +236 -0
  110. package/external/folly/folly/DynamicConverter.h +17 -0
  111. package/external/folly/folly/Exception.h +150 -0
  112. package/external/folly/folly/ExceptionString.cpp +51 -0
  113. package/external/folly/folly/ExceptionString.h +33 -0
  114. package/external/folly/folly/ExceptionWrapper-inl.h +264 -0
  115. package/external/folly/folly/ExceptionWrapper.cpp +37 -0
  116. package/external/folly/folly/ExceptionWrapper.h +377 -0
  117. package/external/folly/folly/Executor.cpp +111 -0
  118. package/external/folly/folly/Executor.h +351 -0
  119. package/external/folly/folly/Expected.h +1725 -0
  120. package/external/folly/folly/FBString.h +2888 -0
  121. package/external/folly/folly/FBVector.h +17 -0
  122. package/external/folly/folly/File.cpp +180 -0
  123. package/external/folly/folly/File.h +177 -0
  124. package/external/folly/folly/FileUtil.cpp +378 -0
  125. package/external/folly/folly/FileUtil.h +332 -0
  126. package/external/folly/folly/Fingerprint.cpp +135 -0
  127. package/external/folly/folly/Fingerprint.h +289 -0
  128. package/external/folly/folly/FixedString.h +2965 -0
  129. package/external/folly/folly/FollyMemcpy.cpp +30 -0
  130. package/external/folly/folly/FollyMemcpy.h +23 -0
  131. package/external/folly/folly/FollyMemset.cpp +29 -0
  132. package/external/folly/folly/FollyMemset.h +25 -0
  133. package/external/folly/folly/Format-inl.h +1152 -0
  134. package/external/folly/folly/Format.cpp +429 -0
  135. package/external/folly/folly/Format.h +463 -0
  136. package/external/folly/folly/FormatArg.h +285 -0
  137. package/external/folly/folly/FormatTraits.h +65 -0
  138. package/external/folly/folly/Function.h +1159 -0
  139. package/external/folly/folly/GLog.h +85 -0
  140. package/external/folly/folly/GroupVarint.cpp +153 -0
  141. package/external/folly/folly/GroupVarint.h +630 -0
  142. package/external/folly/folly/Hash.h +20 -0
  143. package/external/folly/folly/IPAddress.cpp +490 -0
  144. package/external/folly/folly/IPAddress.h +667 -0
  145. package/external/folly/folly/IPAddressException.h +82 -0
  146. package/external/folly/folly/IPAddressV4.cpp +305 -0
  147. package/external/folly/folly/IPAddressV4.h +495 -0
  148. package/external/folly/folly/IPAddressV6.cpp +541 -0
  149. package/external/folly/folly/IPAddressV6.h +627 -0
  150. package/external/folly/folly/Indestructible.h +164 -0
  151. package/external/folly/folly/IndexedMemPool.h +550 -0
  152. package/external/folly/folly/IntrusiveList.h +17 -0
  153. package/external/folly/folly/Lazy.h +142 -0
  154. package/external/folly/folly/Likely.h +76 -0
  155. package/external/folly/folly/MPMCPipeline.h +280 -0
  156. package/external/folly/folly/MPMCQueue.h +1556 -0
  157. package/external/folly/folly/MacAddress.cpp +188 -0
  158. package/external/folly/folly/MacAddress.h +260 -0
  159. package/external/folly/folly/MapUtil.h +17 -0
  160. package/external/folly/folly/Math.h +258 -0
  161. package/external/folly/folly/MaybeManagedPtr.h +120 -0
  162. package/external/folly/folly/Memory.h +900 -0
  163. package/external/folly/folly/MicroLock.cpp +76 -0
  164. package/external/folly/folly/MicroLock.h +354 -0
  165. package/external/folly/folly/MicroSpinLock.h +17 -0
  166. package/external/folly/folly/MoveWrapper.h +76 -0
  167. package/external/folly/folly/ObserverContainer.h +1026 -0
  168. package/external/folly/folly/Optional.h +743 -0
  169. package/external/folly/folly/Overload.h +325 -0
  170. package/external/folly/folly/PackedSyncPtr.h +147 -0
  171. package/external/folly/folly/Padded.h +464 -0
  172. package/external/folly/folly/Poly-inl.h +230 -0
  173. package/external/folly/folly/Poly.h +1095 -0
  174. package/external/folly/folly/PolyException.h +43 -0
  175. package/external/folly/folly/Portability.h +644 -0
  176. package/external/folly/folly/Preprocessor.h +236 -0
  177. package/external/folly/folly/ProducerConsumerQueue.h +182 -0
  178. package/external/folly/folly/RWSpinLock.h +17 -0
  179. package/external/folly/folly/Random-inl.h +86 -0
  180. package/external/folly/folly/Random.cpp +184 -0
  181. package/external/folly/folly/Random.h +434 -0
  182. package/external/folly/folly/Range.h +1772 -0
  183. package/external/folly/folly/Replaceable.h +636 -0
  184. package/external/folly/folly/ScopeGuard.cpp +29 -0
  185. package/external/folly/folly/ScopeGuard.h +420 -0
  186. package/external/folly/folly/SharedMutex.cpp +81 -0
  187. package/external/folly/folly/SharedMutex.h +1751 -0
  188. package/external/folly/folly/Singleton-inl.h +332 -0
  189. package/external/folly/folly/Singleton.cpp +512 -0
  190. package/external/folly/folly/Singleton.h +891 -0
  191. package/external/folly/folly/SingletonThreadLocal.cpp +53 -0
  192. package/external/folly/folly/SingletonThreadLocal.h +263 -0
  193. package/external/folly/folly/SocketAddress.cpp +786 -0
  194. package/external/folly/folly/SocketAddress.h +768 -0
  195. package/external/folly/folly/SpinLock.h +55 -0
  196. package/external/folly/folly/String-inl.h +668 -0
  197. package/external/folly/folly/String.cpp +777 -0
  198. package/external/folly/folly/String.h +767 -0
  199. package/external/folly/folly/Subprocess.cpp +1142 -0
  200. package/external/folly/folly/Subprocess.h +1055 -0
  201. package/external/folly/folly/Synchronized.h +1833 -0
  202. package/external/folly/folly/SynchronizedPtr.h +106 -0
  203. package/external/folly/folly/ThreadCachedInt.h +175 -0
  204. package/external/folly/folly/ThreadLocal.h +478 -0
  205. package/external/folly/folly/TimeoutQueue.cpp +78 -0
  206. package/external/folly/folly/TimeoutQueue.h +123 -0
  207. package/external/folly/folly/TokenBucket.h +673 -0
  208. package/external/folly/folly/Traits.h +1442 -0
  209. package/external/folly/folly/Try-inl.h +372 -0
  210. package/external/folly/folly/Try.cpp +23 -0
  211. package/external/folly/folly/Try.h +728 -0
  212. package/external/folly/folly/UTF8String.h +56 -0
  213. package/external/folly/folly/Unicode.cpp +201 -0
  214. package/external/folly/folly/Unicode.h +94 -0
  215. package/external/folly/folly/Unit.h +65 -0
  216. package/external/folly/folly/Uri-inl.h +101 -0
  217. package/external/folly/folly/Uri.cpp +190 -0
  218. package/external/folly/folly/Uri.h +142 -0
  219. package/external/folly/folly/Utility.h +932 -0
  220. package/external/folly/folly/VERSION +1 -0
  221. package/external/folly/folly/Varint.h +230 -0
  222. package/external/folly/folly/VirtualExecutor.h +17 -0
  223. package/external/folly/folly/algorithm/simd/BUCK +47 -0
  224. package/external/folly/folly/algorithm/simd/Contains.cpp +42 -0
  225. package/external/folly/folly/algorithm/simd/Contains.h +116 -0
  226. package/external/folly/folly/algorithm/simd/FindFixed.h +301 -0
  227. package/external/folly/folly/algorithm/simd/Ignore.h +52 -0
  228. package/external/folly/folly/algorithm/simd/Movemask.h +207 -0
  229. package/external/folly/folly/algorithm/simd/detail/BUCK +70 -0
  230. package/external/folly/folly/algorithm/simd/detail/ContainsImpl.h +91 -0
  231. package/external/folly/folly/algorithm/simd/detail/SimdAnyOf.h +83 -0
  232. package/external/folly/folly/algorithm/simd/detail/SimdForEach.h +209 -0
  233. package/external/folly/folly/algorithm/simd/detail/SimdPlatform.h +445 -0
  234. package/external/folly/folly/algorithm/simd/detail/Traits.h +125 -0
  235. package/external/folly/folly/algorithm/simd/detail/UnrollUtils.h +126 -0
  236. package/external/folly/folly/base64.h +264 -0
  237. package/external/folly/folly/chrono/BUCK +29 -0
  238. package/external/folly/folly/chrono/Clock.h +65 -0
  239. package/external/folly/folly/chrono/Conv.h +712 -0
  240. package/external/folly/folly/chrono/Hardware.h +155 -0
  241. package/external/folly/folly/chrono/test/BUCK +26 -0
  242. package/external/folly/folly/chrono/test/ClockTest.cpp +68 -0
  243. package/external/folly/folly/chrono/test/ConvTest.cpp +652 -0
  244. package/external/folly/folly/concurrency/AtomicSharedPtr.h +387 -0
  245. package/external/folly/folly/concurrency/BUCK +170 -0
  246. package/external/folly/folly/concurrency/CacheLocality.cpp +633 -0
  247. package/external/folly/folly/concurrency/CacheLocality.h +460 -0
  248. package/external/folly/folly/concurrency/ConcurrentHashMap.h +822 -0
  249. package/external/folly/folly/concurrency/CoreCachedSharedPtr.h +232 -0
  250. package/external/folly/folly/concurrency/DeadlockDetector.cpp +27 -0
  251. package/external/folly/folly/concurrency/DeadlockDetector.h +44 -0
  252. package/external/folly/folly/concurrency/DynamicBoundedQueue.h +751 -0
  253. package/external/folly/folly/concurrency/PriorityUnboundedQueueSet.h +207 -0
  254. package/external/folly/folly/concurrency/ProcessLocalUniqueId.cpp +46 -0
  255. package/external/folly/folly/concurrency/ProcessLocalUniqueId.h +38 -0
  256. package/external/folly/folly/concurrency/SingletonRelaxedCounter.h +325 -0
  257. package/external/folly/folly/concurrency/ThreadCachedSynchronized.h +227 -0
  258. package/external/folly/folly/concurrency/UnboundedQueue.h +891 -0
  259. package/external/folly/folly/concurrency/container/BUCK +77 -0
  260. package/external/folly/folly/concurrency/container/FlatCombiningPriorityQueue.h +426 -0
  261. package/external/folly/folly/concurrency/container/LockFreeRingBuffer.h +306 -0
  262. package/external/folly/folly/concurrency/container/RelaxedConcurrentPriorityQueue.h +1212 -0
  263. package/external/folly/folly/concurrency/container/SingleWriterFixedHashMap.h +322 -0
  264. package/external/folly/folly/concurrency/container/atomic_grow_array.h +564 -0
  265. package/external/folly/folly/concurrency/container/test/BUCK +75 -0
  266. package/external/folly/folly/concurrency/container/test/FlatCombiningPriorityQueueTest.cpp +570 -0
  267. package/external/folly/folly/concurrency/container/test/LockFreeRingBufferTest.cpp +276 -0
  268. package/external/folly/folly/concurrency/container/test/RelaxedConcurrentPriorityQueueTest.cpp +1570 -0
  269. package/external/folly/folly/concurrency/container/test/SingleWriterFixedHashMapTest.cpp +401 -0
  270. package/external/folly/folly/concurrency/container/test/atomic_grow_array_test.cpp +187 -0
  271. package/external/folly/folly/concurrency/detail/AtomicSharedPtr-detail.h +212 -0
  272. package/external/folly/folly/concurrency/detail/ConcurrentHashMap-detail.h +1911 -0
  273. package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.cpp +43 -0
  274. package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.h +190 -0
  275. package/external/folly/folly/concurrency/memory/BUCK +53 -0
  276. package/external/folly/folly/concurrency/memory/PrimaryPtr.h +338 -0
  277. package/external/folly/folly/concurrency/memory/ReadMostlySharedPtr.h +511 -0
  278. package/external/folly/folly/concurrency/memory/TLRefCount.h +228 -0
  279. package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrBenchmark.cpp +56 -0
  280. package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrTest.cpp +454 -0
  281. package/external/folly/folly/concurrency/memory/test/BUCK +95 -0
  282. package/external/folly/folly/concurrency/memory/test/PrimaryPtrTest.cpp +303 -0
  283. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrBenchmark.cpp +138 -0
  284. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrStressTest.cpp +75 -0
  285. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrTest.cpp +378 -0
  286. package/external/folly/folly/concurrency/memory/test/RefCountBenchmark.cpp +90 -0
  287. package/external/folly/folly/concurrency/memory/test/RefCountTest.cpp +168 -0
  288. package/external/folly/folly/concurrency/test/AtomicSharedPtrCounted.h +156 -0
  289. package/external/folly/folly/concurrency/test/AtomicSharedPtrPerformance.cpp +255 -0
  290. package/external/folly/folly/concurrency/test/AtomicSharedPtrTest.cpp +257 -0
  291. package/external/folly/folly/concurrency/test/BUCK +229 -0
  292. package/external/folly/folly/concurrency/test/CacheLocalityBenchmark.cpp +392 -0
  293. package/external/folly/folly/concurrency/test/CacheLocalityTest.cpp +1229 -0
  294. package/external/folly/folly/concurrency/test/ConcurrentHashMapBench.cpp +260 -0
  295. package/external/folly/folly/concurrency/test/ConcurrentHashMapTest.cpp +1242 -0
  296. package/external/folly/folly/concurrency/test/CoreCachedSharedPtrTest.cpp +408 -0
  297. package/external/folly/folly/concurrency/test/DynamicBoundedQueueTest.cpp +984 -0
  298. package/external/folly/folly/concurrency/test/PriorityUnboundedQueueSetTest.cpp +73 -0
  299. package/external/folly/folly/concurrency/test/ProcessLocalUniqueIdTest.cpp +66 -0
  300. package/external/folly/folly/concurrency/test/SingletonRelaxedCounterBench.cpp +101 -0
  301. package/external/folly/folly/concurrency/test/SingletonRelaxedCounterTest.cpp +185 -0
  302. package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedBench.cpp +76 -0
  303. package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedTest.cpp +93 -0
  304. package/external/folly/folly/concurrency/test/UnboundedQueueTest.cpp +1302 -0
  305. package/external/folly/folly/container/Access.h +57 -0
  306. package/external/folly/folly/container/Array.h +87 -0
  307. package/external/folly/folly/container/BUCK +353 -0
  308. package/external/folly/folly/container/BitIterator.h +203 -0
  309. package/external/folly/folly/container/Enumerate.h +162 -0
  310. package/external/folly/folly/container/EvictingCacheMap.h +730 -0
  311. package/external/folly/folly/container/F14.md +300 -0
  312. package/external/folly/folly/container/F14Map-fwd.h +113 -0
  313. package/external/folly/folly/container/F14Map.h +2108 -0
  314. package/external/folly/folly/container/F14Set-fwd.h +95 -0
  315. package/external/folly/folly/container/F14Set.h +1603 -0
  316. package/external/folly/folly/container/FBVector.h +1711 -0
  317. package/external/folly/folly/container/Foreach-inl.h +316 -0
  318. package/external/folly/folly/container/Foreach.h +209 -0
  319. package/external/folly/folly/container/HeterogeneousAccess-fwd.h +33 -0
  320. package/external/folly/folly/container/HeterogeneousAccess.h +171 -0
  321. package/external/folly/folly/container/IntrusiveHeap.h +268 -0
  322. package/external/folly/folly/container/IntrusiveList.h +131 -0
  323. package/external/folly/folly/container/Iterator.h +843 -0
  324. package/external/folly/folly/container/MapUtil.h +376 -0
  325. package/external/folly/folly/container/Merge.h +90 -0
  326. package/external/folly/folly/container/RegexMatchCache.cpp +521 -0
  327. package/external/folly/folly/container/RegexMatchCache.h +699 -0
  328. package/external/folly/folly/container/Reserve.h +109 -0
  329. package/external/folly/folly/container/SparseByteSet.h +123 -0
  330. package/external/folly/folly/container/View.h +81 -0
  331. package/external/folly/folly/container/WeightedEvictingCacheMap.h +651 -0
  332. package/external/folly/folly/container/detail/BUCK +115 -0
  333. package/external/folly/folly/container/detail/BitIteratorDetail.h +87 -0
  334. package/external/folly/folly/container/detail/F14Defaults.h +34 -0
  335. package/external/folly/folly/container/detail/F14IntrinsicsAvailability.h +67 -0
  336. package/external/folly/folly/container/detail/F14MapFallback.h +717 -0
  337. package/external/folly/folly/container/detail/F14Mask.h +235 -0
  338. package/external/folly/folly/container/detail/F14Policy.h +1523 -0
  339. package/external/folly/folly/container/detail/F14SetFallback.h +528 -0
  340. package/external/folly/folly/container/detail/F14Table.cpp +71 -0
  341. package/external/folly/folly/container/detail/F14Table.h +2680 -0
  342. package/external/folly/folly/container/detail/Util.h +303 -0
  343. package/external/folly/folly/container/detail/tape_detail.h +135 -0
  344. package/external/folly/folly/container/detail/test/BUCK +14 -0
  345. package/external/folly/folly/container/detail/test/F14DetailTest.cpp +47 -0
  346. package/external/folly/folly/container/heap_vector_types.h +1683 -0
  347. package/external/folly/folly/container/range_traits.h +81 -0
  348. package/external/folly/folly/container/small_vector.h +1476 -0
  349. package/external/folly/folly/container/sorted_vector_types.h +1652 -0
  350. package/external/folly/folly/container/span.h +408 -0
  351. package/external/folly/folly/container/tape.h +608 -0
  352. package/external/folly/folly/container/test/.clang-tidy +12 -0
  353. package/external/folly/folly/container/test/AccessTest.cpp +138 -0
  354. package/external/folly/folly/container/test/ArrayTest.cpp +84 -0
  355. package/external/folly/folly/container/test/BUCK +568 -0
  356. package/external/folly/folly/container/test/BitIteratorBench.cpp +112 -0
  357. package/external/folly/folly/container/test/BitIteratorTest.cpp +109 -0
  358. package/external/folly/folly/container/test/EnumerateTest.cpp +294 -0
  359. package/external/folly/folly/container/test/EvictingCacheMapBench.cpp +80 -0
  360. package/external/folly/folly/container/test/EvictingCacheMapTest.cpp +842 -0
  361. package/external/folly/folly/container/test/F14AsanSupportTest.cpp +143 -0
  362. package/external/folly/folly/container/test/F14FwdTest.cpp +37 -0
  363. package/external/folly/folly/container/test/F14InterprocessTest.cpp +404 -0
  364. package/external/folly/folly/container/test/F14MapTest.cpp +2543 -0
  365. package/external/folly/folly/container/test/F14PolicyTest.cpp +49 -0
  366. package/external/folly/folly/container/test/F14SetTest.cpp +1738 -0
  367. package/external/folly/folly/container/test/F14SmallOverheads.cpp +215 -0
  368. package/external/folly/folly/container/test/F14TestUtil.h +117 -0
  369. package/external/folly/folly/container/test/FBVectorBenchmark.cpp +380 -0
  370. package/external/folly/folly/container/test/FBVectorBenchmarks.cpp.h +100 -0
  371. package/external/folly/folly/container/test/FBVectorTest.cpp +326 -0
  372. package/external/folly/folly/container/test/FBVectorTests.cpp.h +304 -0
  373. package/external/folly/folly/container/test/ForeachBenchmark.cpp +388 -0
  374. package/external/folly/folly/container/test/ForeachTest.cpp +338 -0
  375. package/external/folly/folly/container/test/HashMapsBench.cpp +458 -0
  376. package/external/folly/folly/container/test/HeterogeneousAccessTest.cpp +242 -0
  377. package/external/folly/folly/container/test/IntrusiveHeapTest.cpp +262 -0
  378. package/external/folly/folly/container/test/IteratorTest.cpp +989 -0
  379. package/external/folly/folly/container/test/MapUtilTest.cpp +365 -0
  380. package/external/folly/folly/container/test/MergeTest.cpp +66 -0
  381. package/external/folly/folly/container/test/RegexMatchCacheTest.cpp +634 -0
  382. package/external/folly/folly/container/test/ReserveTest.cpp +173 -0
  383. package/external/folly/folly/container/test/SparseByteSetBenchmark.cpp +153 -0
  384. package/external/folly/folly/container/test/SparseByteSetTest.cpp +117 -0
  385. package/external/folly/folly/container/test/TrackingTypes.h +584 -0
  386. package/external/folly/folly/container/test/UtilTest.cpp +609 -0
  387. package/external/folly/folly/container/test/WeightedEvictingCacheMapTest.cpp +800 -0
  388. package/external/folly/folly/container/test/heap_vector_types_test.cpp +1774 -0
  389. package/external/folly/folly/container/test/range_traits_test.cpp +59 -0
  390. package/external/folly/folly/container/test/small_vector_test.cpp +1571 -0
  391. package/external/folly/folly/container/test/sorted_vector_test.cpp +1589 -0
  392. package/external/folly/folly/container/test/span_test.cpp +520 -0
  393. package/external/folly/folly/container/test/tape_bench.cpp +200 -0
  394. package/external/folly/folly/container/test/tape_test.cpp +590 -0
  395. package/external/folly/folly/defs.bzl +238 -0
  396. package/external/folly/folly/detail/AsyncTrace.cpp +36 -0
  397. package/external/folly/folly/detail/AsyncTrace.h +44 -0
  398. package/external/folly/folly/detail/AtomicHashUtils.h +42 -0
  399. package/external/folly/folly/detail/AtomicUnorderedMapUtils.h +80 -0
  400. package/external/folly/folly/detail/BUCK +406 -0
  401. package/external/folly/folly/detail/DiscriminatedPtrDetail.h +172 -0
  402. package/external/folly/folly/detail/FileUtilDetail.cpp +63 -0
  403. package/external/folly/folly/detail/FileUtilDetail.h +85 -0
  404. package/external/folly/folly/detail/FileUtilVectorDetail.h +81 -0
  405. package/external/folly/folly/detail/FingerprintPolynomial.h +132 -0
  406. package/external/folly/folly/detail/Futex-inl.h +123 -0
  407. package/external/folly/folly/detail/Futex.cpp +273 -0
  408. package/external/folly/folly/detail/Futex.h +109 -0
  409. package/external/folly/folly/detail/GroupVarintDetail.h +101 -0
  410. package/external/folly/folly/detail/IPAddress.cpp +37 -0
  411. package/external/folly/folly/detail/IPAddress.h +57 -0
  412. package/external/folly/folly/detail/IPAddressSource.h +278 -0
  413. package/external/folly/folly/detail/Iterators.h +156 -0
  414. package/external/folly/folly/detail/MPMCPipelineDetail.h +122 -0
  415. package/external/folly/folly/detail/MemoryIdler.cpp +233 -0
  416. package/external/folly/folly/detail/MemoryIdler.h +216 -0
  417. package/external/folly/folly/detail/PerfScoped.cpp +112 -0
  418. package/external/folly/folly/detail/PerfScoped.h +70 -0
  419. package/external/folly/folly/detail/PolyDetail.h +921 -0
  420. package/external/folly/folly/detail/RangeCommon.cpp +55 -0
  421. package/external/folly/folly/detail/RangeCommon.h +93 -0
  422. package/external/folly/folly/detail/RangeSse42.cpp +198 -0
  423. package/external/folly/folly/detail/RangeSse42.h +30 -0
  424. package/external/folly/folly/detail/SimpleSimdStringUtils.cpp +31 -0
  425. package/external/folly/folly/detail/SimpleSimdStringUtils.h +27 -0
  426. package/external/folly/folly/detail/SimpleSimdStringUtilsImpl.h +63 -0
  427. package/external/folly/folly/detail/Singleton.h +34 -0
  428. package/external/folly/folly/detail/SlowFingerprint.h +90 -0
  429. package/external/folly/folly/detail/SocketFastOpen.cpp +175 -0
  430. package/external/folly/folly/detail/SocketFastOpen.h +89 -0
  431. package/external/folly/folly/detail/SplitStringSimd.cpp +84 -0
  432. package/external/folly/folly/detail/SplitStringSimd.h +151 -0
  433. package/external/folly/folly/detail/SplitStringSimdImpl.h +149 -0
  434. package/external/folly/folly/detail/Sse.cpp +35 -0
  435. package/external/folly/folly/detail/Sse.h +45 -0
  436. package/external/folly/folly/detail/StaticSingletonManager.cpp +119 -0
  437. package/external/folly/folly/detail/StaticSingletonManager.h +298 -0
  438. package/external/folly/folly/detail/ThreadLocalDetail.cpp +492 -0
  439. package/external/folly/folly/detail/ThreadLocalDetail.h +800 -0
  440. package/external/folly/folly/detail/TrapOnAvx512.cpp +41 -0
  441. package/external/folly/folly/detail/TrapOnAvx512.h +21 -0
  442. package/external/folly/folly/detail/TurnSequencer.h +295 -0
  443. package/external/folly/folly/detail/TypeList.h +551 -0
  444. package/external/folly/folly/detail/UniqueInstance.cpp +136 -0
  445. package/external/folly/folly/detail/UniqueInstance.h +68 -0
  446. package/external/folly/folly/detail/base64_detail/BUCK +102 -0
  447. package/external/folly/folly/detail/base64_detail/Base64Api.cpp +40 -0
  448. package/external/folly/folly/detail/base64_detail/Base64Api.h +101 -0
  449. package/external/folly/folly/detail/base64_detail/Base64Common.h +80 -0
  450. package/external/folly/folly/detail/base64_detail/Base64Constants.h +79 -0
  451. package/external/folly/folly/detail/base64_detail/Base64HiddenConstants.h +129 -0
  452. package/external/folly/folly/detail/base64_detail/Base64SWAR.cpp +161 -0
  453. package/external/folly/folly/detail/base64_detail/Base64SWAR.h +32 -0
  454. package/external/folly/folly/detail/base64_detail/Base64Scalar.h +262 -0
  455. package/external/folly/folly/detail/base64_detail/Base64Simd.h +102 -0
  456. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.cpp +42 -0
  457. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.h +33 -0
  458. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2_Platform.h +167 -0
  459. package/external/folly/folly/detail/base64_detail/README.md +392 -0
  460. package/external/folly/folly/detail/base64_detail/tests/BUCK +36 -0
  461. package/external/folly/folly/detail/base64_detail/tests/Base64AgainstScalarTest.cpp +141 -0
  462. package/external/folly/folly/detail/base64_detail/tests/Base64PlatformTest.cpp +273 -0
  463. package/external/folly/folly/detail/base64_detail/tests/Base64SpecialCasesTest.cpp +555 -0
  464. package/external/folly/folly/detail/test/AsyncTraceTest.cpp +43 -0
  465. package/external/folly/folly/detail/test/BUCK +118 -0
  466. package/external/folly/folly/detail/test/FileUtilDetailTest.cpp +56 -0
  467. package/external/folly/folly/detail/test/PerfScopedTest.cpp +107 -0
  468. package/external/folly/folly/detail/test/SimpleSimdStringUtilsTest.cpp +92 -0
  469. package/external/folly/folly/detail/test/SplitStringSimdTest.cpp +242 -0
  470. package/external/folly/folly/detail/test/StaticSingletonManagerTest.cpp +121 -0
  471. package/external/folly/folly/detail/test/ThreadLocalBenchmark.cpp +116 -0
  472. package/external/folly/folly/detail/test/ThreadLocalDetailTest.cpp +194 -0
  473. package/external/folly/folly/detail/test/TrapOnAvx512TestNegative.cpp +29 -0
  474. package/external/folly/folly/detail/test/UniqueInstanceTest.cpp +60 -0
  475. package/external/folly/folly/detail/thread_local_globals.cpp +69 -0
  476. package/external/folly/folly/detail/thread_local_globals.h +36 -0
  477. package/external/folly/folly/docs/AtomicHashMap.md +134 -0
  478. package/external/folly/folly/docs/Benchmark.md +310 -0
  479. package/external/folly/folly/docs/Conv.md +291 -0
  480. package/external/folly/folly/docs/Dynamic.md +220 -0
  481. package/external/folly/folly/docs/DynamicConverter.md +71 -0
  482. package/external/folly/folly/docs/Executors.md +63 -0
  483. package/external/folly/folly/docs/FBString.md +46 -0
  484. package/external/folly/folly/docs/FBVector.md +200 -0
  485. package/external/folly/folly/docs/Fbvector--graphical_solutions.png +0 -0
  486. package/external/folly/folly/docs/Format.md +177 -0
  487. package/external/folly/folly/docs/Function.md +92 -0
  488. package/external/folly/folly/docs/Futures.md +263 -0
  489. package/external/folly/folly/docs/GroupVarint.md +46 -0
  490. package/external/folly/folly/docs/Histogram.md +104 -0
  491. package/external/folly/folly/docs/MapUtils.md +80 -0
  492. package/external/folly/folly/docs/Overview.md +263 -0
  493. package/external/folly/folly/docs/PackedSyncPtr.md +77 -0
  494. package/external/folly/folly/docs/Poly.md +500 -0
  495. package/external/folly/folly/docs/ProducerConsumerQueue.md +82 -0
  496. package/external/folly/folly/docs/Rcu.md +218 -0
  497. package/external/folly/folly/docs/SmallLocks.md +24 -0
  498. package/external/folly/folly/docs/Synchronized.md +793 -0
  499. package/external/folly/folly/docs/ThreadCachedInt.md +98 -0
  500. package/external/folly/folly/docs/ThreadLocal.md +105 -0
  501. package/external/folly/folly/docs/Traits.md +161 -0
  502. package/external/folly/folly/docs/small_vector.md +64 -0
  503. package/external/folly/folly/docs/style.css +23 -0
  504. package/external/folly/folly/dynamic-inl.h +17 -0
  505. package/external/folly/folly/dynamic.h +17 -0
  506. package/external/folly/folly/folly_extended_library.bzl +28 -0
  507. package/external/folly/folly/functional/ApplyTuple.h +204 -0
  508. package/external/folly/folly/functional/BUCK +57 -0
  509. package/external/folly/folly/functional/Invoke.h +880 -0
  510. package/external/folly/folly/functional/Partial.h +130 -0
  511. package/external/folly/folly/functional/protocol.h +203 -0
  512. package/external/folly/folly/functional/test/ApplyTupleTest.cpp +549 -0
  513. package/external/folly/folly/functional/test/BUCK +57 -0
  514. package/external/folly/folly/functional/test/InvokeTest.cpp +483 -0
  515. package/external/folly/folly/functional/test/PartialTest.cpp +141 -0
  516. package/external/folly/folly/functional/test/protocol_test.cpp +177 -0
  517. package/external/folly/folly/functional/test/traits_test.cpp +551 -0
  518. package/external/folly/folly/functional/traits.h +675 -0
  519. package/external/folly/folly/hash/BUCK +86 -0
  520. package/external/folly/folly/hash/Checksum.cpp +275 -0
  521. package/external/folly/folly/hash/Checksum.h +94 -0
  522. package/external/folly/folly/hash/FarmHash.h +46 -0
  523. package/external/folly/folly/hash/Hash.h +1045 -0
  524. package/external/folly/folly/hash/MurmurHash.h +86 -0
  525. package/external/folly/folly/hash/SpookyHashV1.cpp +391 -0
  526. package/external/folly/folly/hash/SpookyHashV1.h +307 -0
  527. package/external/folly/folly/hash/SpookyHashV2.cpp +392 -0
  528. package/external/folly/folly/hash/SpookyHashV2.h +339 -0
  529. package/external/folly/folly/hash/detail/BUCK +26 -0
  530. package/external/folly/folly/hash/detail/ChecksumDetail.cpp +296 -0
  531. package/external/folly/folly/hash/detail/ChecksumDetail.h +137 -0
  532. package/external/folly/folly/hash/detail/Crc32CombineDetail.cpp +191 -0
  533. package/external/folly/folly/hash/detail/Crc32cDetail.cpp +303 -0
  534. package/external/folly/folly/hash/test/BUCK +132 -0
  535. package/external/folly/folly/hash/test/ChecksumBenchmark.cpp +91 -0
  536. package/external/folly/folly/hash/test/ChecksumTest.cpp +587 -0
  537. package/external/folly/folly/hash/test/FarmHashTest.cpp +41 -0
  538. package/external/folly/folly/hash/test/HashBenchmark.cpp +238 -0
  539. package/external/folly/folly/hash/test/HashTest.cpp +997 -0
  540. package/external/folly/folly/hash/test/MurmurHashTest.cpp +76 -0
  541. package/external/folly/folly/hash/test/SpookyHashV1Test.cpp +559 -0
  542. package/external/folly/folly/hash/test/SpookyHashV2Test.cpp +549 -0
  543. package/external/folly/folly/hash/test/traits_test.cpp +69 -0
  544. package/external/folly/folly/hash/traits.h +115 -0
  545. package/external/folly/folly/json/BUCK +155 -0
  546. package/external/folly/folly/json/DynamicConverter.h +464 -0
  547. package/external/folly/folly/json/DynamicParser-inl.h +316 -0
  548. package/external/folly/folly/json/DynamicParser.cpp +198 -0
  549. package/external/folly/folly/json/DynamicParser.h +394 -0
  550. package/external/folly/folly/json/JSONSchema.cpp +1030 -0
  551. package/external/folly/folly/json/JSONSchema.h +73 -0
  552. package/external/folly/folly/json/JsonMockUtil.h +73 -0
  553. package/external/folly/folly/json/JsonTestUtil.cpp +167 -0
  554. package/external/folly/folly/json/JsonTestUtil.h +88 -0
  555. package/external/folly/folly/json/bser/BUCK +24 -0
  556. package/external/folly/folly/json/bser/Bser.h +107 -0
  557. package/external/folly/folly/json/bser/Dump.cpp +253 -0
  558. package/external/folly/folly/json/bser/Load.cpp +246 -0
  559. package/external/folly/folly/json/bser/test/BUCK +14 -0
  560. package/external/folly/folly/json/bser/test/BserTest.cpp +149 -0
  561. package/external/folly/folly/json/dynamic-inl.h +1438 -0
  562. package/external/folly/folly/json/dynamic.cpp +552 -0
  563. package/external/folly/folly/json/dynamic.h +1346 -0
  564. package/external/folly/folly/json/json.cpp +1118 -0
  565. package/external/folly/folly/json/json.h +238 -0
  566. package/external/folly/folly/json/json_patch.cpp +325 -0
  567. package/external/folly/folly/json/json_patch.h +126 -0
  568. package/external/folly/folly/json/json_pointer.cpp +114 -0
  569. package/external/folly/folly/json/json_pointer.h +87 -0
  570. package/external/folly/folly/json/test/BUCK +147 -0
  571. package/external/folly/folly/json/test/DynamicBenchmark.cpp +146 -0
  572. package/external/folly/folly/json/test/DynamicConverterTest.cpp +518 -0
  573. package/external/folly/folly/json/test/DynamicOtherTest.cpp +344 -0
  574. package/external/folly/folly/json/test/DynamicParserTest.cpp +443 -0
  575. package/external/folly/folly/json/test/DynamicTest.cpp +1647 -0
  576. package/external/folly/folly/json/test/JSONSchemaTest.cpp +450 -0
  577. package/external/folly/folly/json/test/JsonBenchmark.cpp +264 -0
  578. package/external/folly/folly/json/test/JsonOtherTest.cpp +51 -0
  579. package/external/folly/folly/json/test/JsonTest.cpp +1153 -0
  580. package/external/folly/folly/json/test/JsonTestUtilTest.cpp +97 -0
  581. package/external/folly/folly/json/test/json_patch_test.cpp +361 -0
  582. package/external/folly/folly/json/test/json_pointer_test.cpp +58 -0
  583. package/external/folly/folly/json/tool/BUCK +13 -0
  584. package/external/folly/folly/json/tool/JSONSchemaTester.cpp +58 -0
  585. package/external/folly/folly/json.h +17 -0
  586. package/external/folly/folly/json_patch.h +17 -0
  587. package/external/folly/folly/json_pointer.h +17 -0
  588. package/external/folly/folly/lang/Access.h +29 -0
  589. package/external/folly/folly/lang/Align.h +240 -0
  590. package/external/folly/folly/lang/Aligned.h +92 -0
  591. package/external/folly/folly/lang/Assume.h +82 -0
  592. package/external/folly/folly/lang/BUCK +287 -0
  593. package/external/folly/folly/lang/Badge.h +108 -0
  594. package/external/folly/folly/lang/Bits.h +570 -0
  595. package/external/folly/folly/lang/BitsClass.h +312 -0
  596. package/external/folly/folly/lang/Builtin.h +74 -0
  597. package/external/folly/folly/lang/CArray.h +34 -0
  598. package/external/folly/folly/lang/CString.cpp +86 -0
  599. package/external/folly/folly/lang/CString.h +55 -0
  600. package/external/folly/folly/lang/Cast.h +51 -0
  601. package/external/folly/folly/lang/CheckedMath.h +253 -0
  602. package/external/folly/folly/lang/CustomizationPoint.h +58 -0
  603. package/external/folly/folly/lang/Exception.cpp +822 -0
  604. package/external/folly/folly/lang/Exception.h +716 -0
  605. package/external/folly/folly/lang/Extern.h +55 -0
  606. package/external/folly/folly/lang/Hint-inl.h +144 -0
  607. package/external/folly/folly/lang/Hint.h +238 -0
  608. package/external/folly/folly/lang/Keep.h +98 -0
  609. package/external/folly/folly/lang/New.h +124 -0
  610. package/external/folly/folly/lang/Ordering.h +140 -0
  611. package/external/folly/folly/lang/Pretty.h +159 -0
  612. package/external/folly/folly/lang/PropagateConst.h +413 -0
  613. package/external/folly/folly/lang/RValueReferenceWrapper.h +152 -0
  614. package/external/folly/folly/lang/SafeAssert.cpp +589 -0
  615. package/external/folly/folly/lang/SafeAssert.h +188 -0
  616. package/external/folly/folly/lang/StaticConst.h +33 -0
  617. package/external/folly/folly/lang/Thunk.h +100 -0
  618. package/external/folly/folly/lang/ToAscii.cpp +348 -0
  619. package/external/folly/folly/lang/ToAscii.h +182 -0
  620. package/external/folly/folly/lang/TypeInfo.h +58 -0
  621. package/external/folly/folly/lang/UncaughtExceptions.cpp +17 -0
  622. package/external/folly/folly/lang/UncaughtExceptions.h +19 -0
  623. package/external/folly/folly/lang/test/AlignTest.cpp +87 -0
  624. package/external/folly/folly/lang/test/AlignedTest.cpp +130 -0
  625. package/external/folly/folly/lang/test/BUCK +258 -0
  626. package/external/folly/folly/lang/test/BadgeTest.cpp +89 -0
  627. package/external/folly/folly/lang/test/BitsBenchmark.cpp +164 -0
  628. package/external/folly/folly/lang/test/BitsClassBenchmark.cpp +122 -0
  629. package/external/folly/folly/lang/test/BitsClassTest.cpp +379 -0
  630. package/external/folly/folly/lang/test/BitsTest.cpp +577 -0
  631. package/external/folly/folly/lang/test/CStringTest.cpp +60 -0
  632. package/external/folly/folly/lang/test/CastTest.cpp +47 -0
  633. package/external/folly/folly/lang/test/CheckedMathTest.cpp +394 -0
  634. package/external/folly/folly/lang/test/ExceptionBench.cpp +427 -0
  635. package/external/folly/folly/lang/test/ExceptionTest.cpp +413 -0
  636. package/external/folly/folly/lang/test/ExternTest.cpp +39 -0
  637. package/external/folly/folly/lang/test/HintTest.cpp +100 -0
  638. package/external/folly/folly/lang/test/NewTest.cpp +38 -0
  639. package/external/folly/folly/lang/test/OrderingTest.cpp +105 -0
  640. package/external/folly/folly/lang/test/PrettyTest.cpp +44 -0
  641. package/external/folly/folly/lang/test/PropagateConstTest.cpp +356 -0
  642. package/external/folly/folly/lang/test/RValueReferenceWrapperTest.cpp +85 -0
  643. package/external/folly/folly/lang/test/SafeAssertTest.cpp +75 -0
  644. package/external/folly/folly/lang/test/ThunkTest.cpp +105 -0
  645. package/external/folly/folly/lang/test/ToAsciiBench.cpp +466 -0
  646. package/external/folly/folly/lang/test/ToAsciiTest.cpp +266 -0
  647. package/external/folly/folly/lang/test/TypeInfoTest.cpp +56 -0
  648. package/external/folly/folly/memcpy.S +292 -0
  649. package/external/folly/folly/memcpy_select_aarch64.cpp +145 -0
  650. package/external/folly/folly/memory/Arena-inl.h +83 -0
  651. package/external/folly/folly/memory/Arena.h +325 -0
  652. package/external/folly/folly/memory/BUCK +191 -0
  653. package/external/folly/folly/memory/JemallocHugePageAllocator.cpp +449 -0
  654. package/external/folly/folly/memory/JemallocHugePageAllocator.h +105 -0
  655. package/external/folly/folly/memory/JemallocHugePageAllocatorTest.cpp +341 -0
  656. package/external/folly/folly/memory/JemallocNodumpAllocator.cpp +176 -0
  657. package/external/folly/folly/memory/JemallocNodumpAllocator.h +119 -0
  658. package/external/folly/folly/memory/JemallocNodumpAllocatorTest.cpp +61 -0
  659. package/external/folly/folly/memory/MallctlHelper.cpp +37 -0
  660. package/external/folly/folly/memory/MallctlHelper.h +167 -0
  661. package/external/folly/folly/memory/Malloc.h +551 -0
  662. package/external/folly/folly/memory/MemoryResource.h +57 -0
  663. package/external/folly/folly/memory/ReentrantAllocator.cpp +162 -0
  664. package/external/folly/folly/memory/ReentrantAllocator.h +261 -0
  665. package/external/folly/folly/memory/SanitizeAddress.cpp +75 -0
  666. package/external/folly/folly/memory/SanitizeAddress.h +117 -0
  667. package/external/folly/folly/memory/SanitizeLeak.cpp +119 -0
  668. package/external/folly/folly/memory/SanitizeLeak.h +108 -0
  669. package/external/folly/folly/memory/ThreadCachedArena.cpp +53 -0
  670. package/external/folly/folly/memory/ThreadCachedArena.h +90 -0
  671. package/external/folly/folly/memory/UninitializedMemoryHacks.h +426 -0
  672. package/external/folly/folly/memory/detail/BUCK +10 -0
  673. package/external/folly/folly/memory/detail/MallocImpl.cpp +52 -0
  674. package/external/folly/folly/memory/detail/MallocImpl.h +97 -0
  675. package/external/folly/folly/memory/not_null-inl.h +522 -0
  676. package/external/folly/folly/memory/not_null.h +449 -0
  677. package/external/folly/folly/memory/test/ArenaTest.cpp +354 -0
  678. package/external/folly/folly/memory/test/BUCK +146 -0
  679. package/external/folly/folly/memory/test/MallctlHelperTest.cpp +169 -0
  680. package/external/folly/folly/memory/test/MallocBenchmark.cpp +91 -0
  681. package/external/folly/folly/memory/test/MallocTest.cpp +78 -0
  682. package/external/folly/folly/memory/test/MemoryResourceTest.cpp +31 -0
  683. package/external/folly/folly/memory/test/ReentrantAllocatorTest.cpp +144 -0
  684. package/external/folly/folly/memory/test/SanitizeAddressTest.cpp +67 -0
  685. package/external/folly/folly/memory/test/SanitizeLeakTest.cpp +139 -0
  686. package/external/folly/folly/memory/test/ThreadCachedArenaTest.cpp +276 -0
  687. package/external/folly/folly/memory/test/UninitializedMemoryHacksODR.cpp +21 -0
  688. package/external/folly/folly/memory/test/UninitializedMemoryHacksTest.cpp +327 -0
  689. package/external/folly/folly/memory/test/not_null_test.cpp +608 -0
  690. package/external/folly/folly/memset.S +245 -0
  691. package/external/folly/folly/memset_select_aarch64.cpp +72 -0
  692. package/external/folly/folly/portability/Asm.h +50 -0
  693. package/external/folly/folly/portability/Atomic.h +31 -0
  694. package/external/folly/folly/portability/BUCK +456 -0
  695. package/external/folly/folly/portability/Builtins.cpp +31 -0
  696. package/external/folly/folly/portability/Builtins.h +161 -0
  697. package/external/folly/folly/portability/Config.h +43 -0
  698. package/external/folly/folly/portability/Constexpr.h +145 -0
  699. package/external/folly/folly/portability/Dirent.cpp +140 -0
  700. package/external/folly/folly/portability/Dirent.h +41 -0
  701. package/external/folly/folly/portability/Event.h +44 -0
  702. package/external/folly/folly/portability/Fcntl.cpp +120 -0
  703. package/external/folly/folly/portability/Fcntl.h +67 -0
  704. package/external/folly/folly/portability/Filesystem.cpp +67 -0
  705. package/external/folly/folly/portability/Filesystem.h +114 -0
  706. package/external/folly/folly/portability/FmtCompile.h +40 -0
  707. package/external/folly/folly/portability/GFlags.h +139 -0
  708. package/external/folly/folly/portability/GMock.h +35 -0
  709. package/external/folly/folly/portability/GTest.h +35 -0
  710. package/external/folly/folly/portability/IOVec.h +34 -0
  711. package/external/folly/folly/portability/Libgen.cpp +59 -0
  712. package/external/folly/folly/portability/Libgen.h +29 -0
  713. package/external/folly/folly/portability/Libunwind.h +21 -0
  714. package/external/folly/folly/portability/Malloc.cpp +31 -0
  715. package/external/folly/folly/portability/Malloc.h +53 -0
  716. package/external/folly/folly/portability/Math.h +90 -0
  717. package/external/folly/folly/portability/Memory.h +26 -0
  718. package/external/folly/folly/portability/OpenSSL.cpp +17 -0
  719. package/external/folly/folly/portability/OpenSSL.h +102 -0
  720. package/external/folly/folly/portability/PThread.cpp +697 -0
  721. package/external/folly/folly/portability/PThread.h +148 -0
  722. package/external/folly/folly/portability/README.md +21 -0
  723. package/external/folly/folly/portability/Sched.cpp +41 -0
  724. package/external/folly/folly/portability/Sched.h +45 -0
  725. package/external/folly/folly/portability/Sockets.cpp +245 -0
  726. package/external/folly/folly/portability/Sockets.h +155 -0
  727. package/external/folly/folly/portability/SourceLocation.h +49 -0
  728. package/external/folly/folly/portability/Stdio.cpp +77 -0
  729. package/external/folly/folly/portability/Stdio.h +32 -0
  730. package/external/folly/folly/portability/Stdlib.cpp +172 -0
  731. package/external/folly/folly/portability/Stdlib.h +64 -0
  732. package/external/folly/folly/portability/String.cpp +53 -0
  733. package/external/folly/folly/portability/String.h +39 -0
  734. package/external/folly/folly/portability/SysFile.cpp +46 -0
  735. package/external/folly/folly/portability/SysFile.h +27 -0
  736. package/external/folly/folly/portability/SysMembarrier.cpp +104 -0
  737. package/external/folly/folly/portability/SysMembarrier.h +26 -0
  738. package/external/folly/folly/portability/SysMman.cpp +242 -0
  739. package/external/folly/folly/portability/SysMman.h +68 -0
  740. package/external/folly/folly/portability/SysResource.cpp +108 -0
  741. package/external/folly/folly/portability/SysResource.h +71 -0
  742. package/external/folly/folly/portability/SysStat.cpp +66 -0
  743. package/external/folly/folly/portability/SysStat.h +52 -0
  744. package/external/folly/folly/portability/SysSyscall.h +73 -0
  745. package/external/folly/folly/portability/SysTime.cpp +62 -0
  746. package/external/folly/folly/portability/SysTime.h +50 -0
  747. package/external/folly/folly/portability/SysTypes.h +44 -0
  748. package/external/folly/folly/portability/SysUio.cpp +179 -0
  749. package/external/folly/folly/portability/SysUio.h +51 -0
  750. package/external/folly/folly/portability/Syslog.h +39 -0
  751. package/external/folly/folly/portability/Time.cpp +357 -0
  752. package/external/folly/folly/portability/Time.h +74 -0
  753. package/external/folly/folly/portability/Unistd.cpp +33 -0
  754. package/external/folly/folly/portability/Unistd.h +111 -0
  755. package/external/folly/folly/portability/Windows.h +108 -0
  756. package/external/folly/folly/portability/openat2.c +30 -0
  757. package/external/folly/folly/portability/openat2.h +39 -0
  758. package/external/folly/folly/portability/test/BUCK +59 -0
  759. package/external/folly/folly/portability/test/ConstexprTest.cpp +102 -0
  760. package/external/folly/folly/portability/test/FilesystemTest.cpp +35 -0
  761. package/external/folly/folly/portability/test/LibgenTest.cpp +35 -0
  762. package/external/folly/folly/portability/test/OpenSSLPortabilityTest.cpp +108 -0
  763. package/external/folly/folly/portability/test/PThreadTest.cpp +80 -0
  764. package/external/folly/folly/portability/test/TimeTest.cpp +90 -0
  765. package/external/folly/folly/small_vector.h +17 -0
  766. package/external/folly/folly/somerge_defs.bzl +399 -0
  767. package/external/folly/folly/sorted_vector_types.h +17 -0
  768. package/external/folly/folly/stop_watch.h +317 -0
  769. package/external/folly/folly/synchronization/AsymmetricThreadFence.cpp +91 -0
  770. package/external/folly/folly/synchronization/AsymmetricThreadFence.h +60 -0
  771. package/external/folly/folly/synchronization/AtomicNotification-inl.h +146 -0
  772. package/external/folly/folly/synchronization/AtomicNotification.cpp +34 -0
  773. package/external/folly/folly/synchronization/AtomicNotification.h +117 -0
  774. package/external/folly/folly/synchronization/AtomicRef.h +181 -0
  775. package/external/folly/folly/synchronization/AtomicStruct.h +150 -0
  776. package/external/folly/folly/synchronization/AtomicUtil-inl.h +482 -0
  777. package/external/folly/folly/synchronization/AtomicUtil.h +179 -0
  778. package/external/folly/folly/synchronization/BUCK +418 -0
  779. package/external/folly/folly/synchronization/Baton.h +419 -0
  780. package/external/folly/folly/synchronization/CallOnce.h +263 -0
  781. package/external/folly/folly/synchronization/DelayedInit.h +179 -0
  782. package/external/folly/folly/synchronization/DistributedMutex-inl.h +1744 -0
  783. package/external/folly/folly/synchronization/DistributedMutex.cpp +27 -0
  784. package/external/folly/folly/synchronization/DistributedMutex.h +342 -0
  785. package/external/folly/folly/synchronization/EventCount.h +200 -0
  786. package/external/folly/folly/synchronization/FlatCombining.h +629 -0
  787. package/external/folly/folly/synchronization/Hazptr-fwd.h +217 -0
  788. package/external/folly/folly/synchronization/Hazptr.cpp +36 -0
  789. package/external/folly/folly/synchronization/Hazptr.h +209 -0
  790. package/external/folly/folly/synchronization/HazptrDomain.cpp +68 -0
  791. package/external/folly/folly/synchronization/HazptrDomain.h +832 -0
  792. package/external/folly/folly/synchronization/HazptrHolder.h +431 -0
  793. package/external/folly/folly/synchronization/HazptrObj.h +533 -0
  794. package/external/folly/folly/synchronization/HazptrObjLinked.h +315 -0
  795. package/external/folly/folly/synchronization/HazptrRec.h +68 -0
  796. package/external/folly/folly/synchronization/HazptrThrLocal.h +180 -0
  797. package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.cpp +46 -0
  798. package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.h +25 -0
  799. package/external/folly/folly/synchronization/Latch.h +160 -0
  800. package/external/folly/folly/synchronization/LifoSem.h +767 -0
  801. package/external/folly/folly/synchronization/Lock.h +887 -0
  802. package/external/folly/folly/synchronization/MicroSpinLock.h +154 -0
  803. package/external/folly/folly/synchronization/NativeSemaphore.h +187 -0
  804. package/external/folly/folly/synchronization/ParkingLot.cpp +37 -0
  805. package/external/folly/folly/synchronization/ParkingLot.h +330 -0
  806. package/external/folly/folly/synchronization/PicoSpinLock.h +167 -0
  807. package/external/folly/folly/synchronization/RWSpinLock.h +549 -0
  808. package/external/folly/folly/synchronization/Rcu.cpp +26 -0
  809. package/external/folly/folly/synchronization/Rcu.h +553 -0
  810. package/external/folly/folly/synchronization/RelaxedAtomic.h +336 -0
  811. package/external/folly/folly/synchronization/SanitizeThread.cpp +141 -0
  812. package/external/folly/folly/synchronization/SanitizeThread.h +166 -0
  813. package/external/folly/folly/synchronization/SaturatingSemaphore.h +324 -0
  814. package/external/folly/folly/synchronization/SmallLocks.h +36 -0
  815. package/external/folly/folly/synchronization/ThrottledLifoSem.h +362 -0
  816. package/external/folly/folly/synchronization/WaitOptions.cpp +25 -0
  817. package/external/folly/folly/synchronization/WaitOptions.h +75 -0
  818. package/external/folly/folly/synchronization/detail/AtomicUtils.h +59 -0
  819. package/external/folly/folly/synchronization/detail/BUCK +104 -0
  820. package/external/folly/folly/synchronization/detail/Hardware.cpp +192 -0
  821. package/external/folly/folly/synchronization/detail/Hardware.h +75 -0
  822. package/external/folly/folly/synchronization/detail/HazptrUtils.h +339 -0
  823. package/external/folly/folly/synchronization/detail/InlineFunctionRef.h +229 -0
  824. package/external/folly/folly/synchronization/detail/Sleeper.cpp +27 -0
  825. package/external/folly/folly/synchronization/detail/Sleeper.h +62 -0
  826. package/external/folly/folly/synchronization/detail/Spin.h +96 -0
  827. package/external/folly/folly/synchronization/detail/ThreadCachedLists.h +174 -0
  828. package/external/folly/folly/synchronization/detail/ThreadCachedReaders.h +189 -0
  829. package/external/folly/folly/synchronization/detail/ThreadCachedTag.h +26 -0
  830. package/external/folly/folly/synchronization/detail/test/BUCK +28 -0
  831. package/external/folly/folly/synchronization/detail/test/HardwareTest.cpp +74 -0
  832. package/external/folly/folly/synchronization/detail/test/InlineFunctionRefTest.cpp +286 -0
  833. package/external/folly/folly/synchronization/example/BUCK +27 -0
  834. package/external/folly/folly/synchronization/example/HazptrLockFreeLIFO.h +88 -0
  835. package/external/folly/folly/synchronization/example/HazptrSWMRSet.h +133 -0
  836. package/external/folly/folly/synchronization/example/HazptrWideCAS.h +62 -0
  837. package/external/folly/folly/synchronization/test/AtomicNotificationTest.cpp +236 -0
  838. package/external/folly/folly/synchronization/test/AtomicRefTest.cpp +170 -0
  839. package/external/folly/folly/synchronization/test/AtomicStructTest.cpp +65 -0
  840. package/external/folly/folly/synchronization/test/AtomicUtilBench.cpp +457 -0
  841. package/external/folly/folly/synchronization/test/AtomicUtilTest.cpp +650 -0
  842. package/external/folly/folly/synchronization/test/BUCK +495 -0
  843. package/external/folly/folly/synchronization/test/Barrier.h +52 -0
  844. package/external/folly/folly/synchronization/test/BarrierTest.cpp +56 -0
  845. package/external/folly/folly/synchronization/test/BatonBenchmark.cpp +77 -0
  846. package/external/folly/folly/synchronization/test/BatonTest.cpp +164 -0
  847. package/external/folly/folly/synchronization/test/BatonTestHelpers.h +118 -0
  848. package/external/folly/folly/synchronization/test/CallOnceBenchmark.cpp +72 -0
  849. package/external/folly/folly/synchronization/test/CallOnceTest.cpp +153 -0
  850. package/external/folly/folly/synchronization/test/DelayedInitTest.cpp +281 -0
  851. package/external/folly/folly/synchronization/test/DistributedMutexTest.cpp +2074 -0
  852. package/external/folly/folly/synchronization/test/EventCountTest.cpp +124 -0
  853. package/external/folly/folly/synchronization/test/FlatCombiningBenchmark.cpp +1789 -0
  854. package/external/folly/folly/synchronization/test/FlatCombiningExamples.h +222 -0
  855. package/external/folly/folly/synchronization/test/FlatCombiningTest.cpp +121 -0
  856. package/external/folly/folly/synchronization/test/FlatCombiningTestHelpers.h +227 -0
  857. package/external/folly/folly/synchronization/test/HazptrTest.cpp +1689 -0
  858. package/external/folly/folly/synchronization/test/LatchTest.cpp +224 -0
  859. package/external/folly/folly/synchronization/test/LifoSemBench.cpp +185 -0
  860. package/external/folly/folly/synchronization/test/LifoSemTests.cpp +353 -0
  861. package/external/folly/folly/synchronization/test/LockTest.cpp +1239 -0
  862. package/external/folly/folly/synchronization/test/NativeSemaphoreTest.cpp +37 -0
  863. package/external/folly/folly/synchronization/test/ParkingLotBenchmark.cpp +239 -0
  864. package/external/folly/folly/synchronization/test/ParkingLotTest.cpp +170 -0
  865. package/external/folly/folly/synchronization/test/RWSpinLockTest.cpp +235 -0
  866. package/external/folly/folly/synchronization/test/RcuBench.cpp +66 -0
  867. package/external/folly/folly/synchronization/test/RcuTest.cpp +330 -0
  868. package/external/folly/folly/synchronization/test/RelaxedAtomicTest.cpp +389 -0
  869. package/external/folly/folly/synchronization/test/SaturatingSemaphoreTest.cpp +166 -0
  870. package/external/folly/folly/synchronization/test/Semaphore.h +242 -0
  871. package/external/folly/folly/synchronization/test/SemaphoreTest.cpp +271 -0
  872. package/external/folly/folly/synchronization/test/SmallLocksBenchmark.cpp +1296 -0
  873. package/external/folly/folly/synchronization/test/SmallLocksTest.cpp +510 -0
  874. package/external/folly/folly/synchronization/test/ThreadCachedEpochBench.h +67 -0
  875. package/external/folly/folly/synchronization/test/ThreadCachedReadersBench.cpp +42 -0
  876. package/external/folly/folly/synchronization/test/ThreadCachedReadersTest.cpp +52 -0
  877. package/external/folly/folly/synchronization/test/ThrottledLifoSemTest.cpp +243 -0
  878. package/external/folly/folly/system/AtFork.cpp +205 -0
  879. package/external/folly/folly/system/AtFork.h +116 -0
  880. package/external/folly/folly/system/AuxVector.h +198 -0
  881. package/external/folly/folly/system/BUCK +144 -0
  882. package/external/folly/folly/system/EnvUtil.cpp +93 -0
  883. package/external/folly/folly/system/EnvUtil.h +113 -0
  884. package/external/folly/folly/system/HardwareConcurrency.cpp +39 -0
  885. package/external/folly/folly/system/HardwareConcurrency.h +23 -0
  886. package/external/folly/folly/system/MemoryMapping.cpp +477 -0
  887. package/external/folly/folly/system/MemoryMapping.h +287 -0
  888. package/external/folly/folly/system/Pid.cpp +87 -0
  889. package/external/folly/folly/system/Pid.h +34 -0
  890. package/external/folly/folly/system/Shell.cpp +33 -0
  891. package/external/folly/folly/system/Shell.h +93 -0
  892. package/external/folly/folly/system/ThreadId.cpp +89 -0
  893. package/external/folly/folly/system/ThreadId.h +62 -0
  894. package/external/folly/folly/system/ThreadName.cpp +330 -0
  895. package/external/folly/folly/system/ThreadName.h +72 -0
  896. package/external/folly/folly/system/test/AtForkTest.cpp +309 -0
  897. package/external/folly/folly/system/test/AuxVectorTest.cpp +55 -0
  898. package/external/folly/folly/system/test/BUCK +120 -0
  899. package/external/folly/folly/system/test/EnvUtilSubprocess.cpp +26 -0
  900. package/external/folly/folly/system/test/EnvUtilTest.cpp +197 -0
  901. package/external/folly/folly/system/test/MemoryMappingTest.cpp +179 -0
  902. package/external/folly/folly/system/test/PidTest.cpp +46 -0
  903. package/external/folly/folly/system/test/ShellTest.cpp +66 -0
  904. package/external/folly/folly/system/test/ThreadIdTest.cpp +114 -0
  905. package/external/folly/folly/system/test/ThreadNameTest.cpp +85 -0
  906. package/external/folly/folly.vcxitems +164 -0
  907. package/external/folly/static/logo.svg +1 -0
  908. package/external/folly/sync-config.json +8 -0
  909. package/package.json +3 -3
  910. package/templates/cpp-lib/example/metro.config.js +18 -2
@@ -0,0 +1,242 @@
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
+ #include <folly/portability/SysMman.h>
18
+
19
+ #ifdef _WIN32
20
+
21
+ #include <cassert>
22
+
23
+ #include <folly/Portability.h>
24
+ #include <folly/portability/Windows.h>
25
+
26
+ static bool mmap_to_page_protection(int prot, DWORD& ret, DWORD& acc) {
27
+ if (prot == PROT_NONE) {
28
+ ret = PAGE_NOACCESS;
29
+ acc = 0;
30
+ } else if (prot == PROT_READ) {
31
+ ret = PAGE_READONLY;
32
+ acc = FILE_MAP_READ;
33
+ } else if (prot == PROT_EXEC) {
34
+ ret = PAGE_EXECUTE;
35
+ acc = FILE_MAP_EXECUTE;
36
+ } else if (prot == (PROT_READ | PROT_EXEC)) {
37
+ ret = PAGE_EXECUTE_READ;
38
+ acc = FILE_MAP_READ | FILE_MAP_EXECUTE;
39
+ } else if (prot == (PROT_READ | PROT_WRITE)) {
40
+ ret = PAGE_READWRITE;
41
+ acc = FILE_MAP_READ | FILE_MAP_WRITE;
42
+ } else if (prot == (PROT_READ | PROT_WRITE | PROT_EXEC)) {
43
+ ret = PAGE_EXECUTE_READWRITE;
44
+ acc = FILE_MAP_READ | FILE_MAP_WRITE | FILE_MAP_EXECUTE;
45
+ } else {
46
+ return false;
47
+ }
48
+ return true;
49
+ }
50
+
51
+ static size_t alignToAllocationGranularity(size_t s) {
52
+ static size_t granularity = [] {
53
+ static SYSTEM_INFO inf;
54
+ GetSystemInfo(&inf);
55
+ return inf.dwAllocationGranularity;
56
+ }();
57
+ return (s + granularity - 1) / granularity * granularity;
58
+ }
59
+
60
+ extern "C" {
61
+ int madvise(const void* /* addr */, size_t /* len */, int /* advise */) {
62
+ // We do nothing at all.
63
+ // Could probably implement dontneed via VirtualAlloc
64
+ // with the MEM_RESET and MEM_RESET_UNDO flags.
65
+ return 0;
66
+ }
67
+
68
+ int mlock(const void* addr, size_t len) {
69
+ // For some strange reason, it's allowed to
70
+ // lock a nullptr as long as length is zero.
71
+ // VirtualLock doesn't allow it, so handle
72
+ // it specially.
73
+ if (addr == nullptr && len == 0) {
74
+ return 0;
75
+ }
76
+ if (!VirtualLock((void*)addr, len)) {
77
+ return -1;
78
+ }
79
+ return 0;
80
+ }
81
+
82
+ namespace {
83
+ constexpr uint32_t kMMapLengthMagic = 0xFACEB00C;
84
+ struct MemMapDebugTrailer {
85
+ size_t length;
86
+ uint32_t magic;
87
+ };
88
+
89
+ void* mmapWinArgs(
90
+ void* addr,
91
+ size_t length,
92
+ int prot,
93
+ int flags,
94
+ int fd,
95
+ DWORD offHigh,
96
+ DWORD offLow) {
97
+ // Make sure it's something we support first.
98
+
99
+ // No Anon shared.
100
+ if ((flags & (MAP_ANONYMOUS | MAP_SHARED)) == (MAP_ANONYMOUS | MAP_SHARED)) {
101
+ return MAP_FAILED;
102
+ }
103
+ // No private copy on write.
104
+ // If the map isn't writable, we can let it go through as
105
+ // whether changes to the underlying file are reflected in the map
106
+ // is defined to be unspecified by the standard.
107
+ if ((flags & MAP_PRIVATE) == MAP_PRIVATE &&
108
+ (prot & PROT_WRITE) == PROT_WRITE && fd != -1) {
109
+ return MAP_FAILED;
110
+ }
111
+ // Map isn't anon, must be file backed.
112
+ if (!(flags & MAP_ANONYMOUS) && fd == -1) {
113
+ return MAP_FAILED;
114
+ }
115
+
116
+ DWORD newProt;
117
+ DWORD accessFlags;
118
+ if (!mmap_to_page_protection(prot, newProt, accessFlags)) {
119
+ return MAP_FAILED;
120
+ }
121
+
122
+ void* ret;
123
+ if (!(flags & MAP_ANONYMOUS) || (flags & MAP_SHARED)) {
124
+ HANDLE h = INVALID_HANDLE_VALUE;
125
+ if (!(flags & MAP_ANONYMOUS)) {
126
+ h = (HANDLE)_get_osfhandle(fd);
127
+ }
128
+
129
+ HANDLE fmh = CreateFileMapping(
130
+ h,
131
+ nullptr,
132
+ newProt,
133
+ (DWORD)((length >> 32) & 0xFFFFFFFF),
134
+ (DWORD)(length & 0xFFFFFFFF),
135
+ nullptr);
136
+ if (fmh == nullptr) {
137
+ return MAP_FAILED;
138
+ }
139
+ ret = MapViewOfFileEx(fmh, accessFlags, offHigh, offLow, 0, addr);
140
+ if (ret == nullptr) {
141
+ ret = MAP_FAILED;
142
+ }
143
+ CloseHandle(fmh);
144
+ } else {
145
+ auto baseLength = length;
146
+ if (folly::kIsDebug) {
147
+ // In debug mode we keep track of the length to make
148
+ // sure you're only munmapping the entire thing if
149
+ // we're using VirtualAlloc.
150
+ length += sizeof(MemMapDebugTrailer);
151
+ }
152
+
153
+ // VirtualAlloc rounds size down to a multiple
154
+ // of the system allocation granularity :(
155
+ length = alignToAllocationGranularity(length);
156
+ ret = VirtualAlloc(addr, length, MEM_COMMIT | MEM_RESERVE, newProt);
157
+ if (ret == nullptr) {
158
+ return MAP_FAILED;
159
+ }
160
+
161
+ if (folly::kIsDebug) {
162
+ auto deb = (MemMapDebugTrailer*)((char*)ret + baseLength);
163
+ deb->length = baseLength;
164
+ deb->magic = kMMapLengthMagic;
165
+ }
166
+ }
167
+
168
+ // TODO: Could technically implement MAP_POPULATE via PrefetchVirtualMemory
169
+ // Should also see about implementing MAP_NORESERVE
170
+ return ret;
171
+ }
172
+ } // namespace
173
+
174
+ void* mmap(void* addr, size_t length, int prot, int flags, int fd, off_t off) {
175
+ // offHigh is zero because off_t is only 32-bit on windows
176
+ return mmapWinArgs(
177
+ addr, length, prot, flags, fd, (DWORD)(0), (DWORD)(off & 0xFFFFFFFF));
178
+ }
179
+
180
+ void* mmap64(
181
+ void* addr, size_t length, int prot, int flags, int fd, off64_t off) {
182
+ return mmapWinArgs(
183
+ addr,
184
+ length,
185
+ prot,
186
+ flags,
187
+ fd,
188
+ (DWORD)(off >> 32) & 0xFFFFFFFF,
189
+ (DWORD)(off & 0xFFFFFFFF));
190
+ }
191
+
192
+ int mprotect(void* addr, size_t size, int prot) {
193
+ DWORD newProt;
194
+ DWORD access;
195
+ if (!mmap_to_page_protection(prot, newProt, access)) {
196
+ return -1;
197
+ }
198
+
199
+ DWORD oldProt;
200
+ BOOL res = VirtualProtect(addr, size, newProt, &oldProt);
201
+ if (!res) {
202
+ return -1;
203
+ }
204
+ return 0;
205
+ }
206
+
207
+ int munlock(const void* addr, size_t length) {
208
+ // See comment in mlock
209
+ if (addr == nullptr && length == 0) {
210
+ return 0;
211
+ }
212
+ if (!VirtualUnlock((void*)addr, length)) {
213
+ return -1;
214
+ }
215
+ return 0;
216
+ }
217
+
218
+ int munmap(void* addr, size_t length) {
219
+ // Try to unmap it as a file, otherwise VirtualFree.
220
+ if (!UnmapViewOfFile(addr)) {
221
+ if (folly::kIsDebug) {
222
+ // We can't do partial unmapping with Windows, so
223
+ // assert that we aren't trying to do that if we're
224
+ // in debug mode.
225
+ MEMORY_BASIC_INFORMATION inf;
226
+ VirtualQuery(addr, &inf, sizeof(inf));
227
+ assert(inf.AllocationBase == addr);
228
+
229
+ auto deb = (MemMapDebugTrailer*)((char*)addr + length);
230
+ assert(deb->length == length);
231
+ assert(deb->magic == kMMapLengthMagic);
232
+ }
233
+ if (!VirtualFree(addr, 0, MEM_RELEASE)) {
234
+ return -1;
235
+ }
236
+ return 0;
237
+ }
238
+ return 0;
239
+ }
240
+ }
241
+
242
+ #endif
@@ -0,0 +1,68 @@
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
+ #ifndef _WIN32
20
+
21
+ #include <sys/mman.h>
22
+
23
+ // MAP_ANONYMOUS is named MAP_ANON on OSX/BSD.
24
+ #if defined(__APPLE__) || defined(__FreeBSD__)
25
+ #if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
26
+ #define MAP_ANONYMOUS MAP_ANON
27
+ #endif
28
+ #endif
29
+
30
+ #else
31
+
32
+ #include <cstdint>
33
+
34
+ #include <sys/types.h>
35
+
36
+ using off64_t = int64_t;
37
+
38
+ #define MAP_ANONYMOUS 1
39
+ #define MAP_ANON MAP_ANONYMOUS
40
+ #define MAP_SHARED 2
41
+ #define MAP_PRIVATE 4
42
+ #define MAP_POPULATE 8
43
+ #define MAP_NORESERVE 16
44
+ #define MAP_FIXED 32
45
+
46
+ #define MAP_FAILED ((void*)-1)
47
+
48
+ #define PROT_NONE 0
49
+ #define PROT_READ 1
50
+ #define PROT_WRITE 2
51
+ #define PROT_EXEC 4
52
+
53
+ #define MADV_NORMAL 0
54
+ #define MADV_DONTNEED 0
55
+ #define MADV_SEQUENTIAL 0
56
+
57
+ extern "C" {
58
+ int madvise(const void* addr, size_t len, int advise);
59
+ int mlock(const void* addr, size_t len);
60
+ void* mmap(void* addr, size_t length, int prot, int flags, int fd, off_t off);
61
+ void* mmap64(
62
+ void* addr, size_t length, int prot, int flags, int fd, off64_t off);
63
+ int mprotect(void* addr, size_t size, int prot);
64
+ int munlock(const void* addr, size_t length);
65
+ int munmap(void* addr, size_t length);
66
+ }
67
+
68
+ #endif
@@ -0,0 +1,108 @@
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
+ #include <folly/portability/SysResource.h>
18
+
19
+ #include <cerrno>
20
+ #include <cstring>
21
+
22
+ #ifdef _WIN32
23
+ #include <folly/portability/Windows.h>
24
+
25
+ extern "C" {
26
+ int getrlimit(int type, rlimit* dst) {
27
+ if (type == RLIMIT_STACK) {
28
+ NT_TIB* tib = (NT_TIB*)NtCurrentTeb();
29
+ dst->rlim_cur = (size_t)tib->StackBase - (size_t)tib->StackLimit;
30
+ dst->rlim_max = dst->rlim_cur;
31
+ return 0;
32
+ }
33
+ return -1;
34
+ }
35
+
36
+ int getrusage(int /* who */, rusage* usage) {
37
+ // You get NOTHING! Good day to you sir.
38
+ ZeroMemory(usage, sizeof(rusage));
39
+ return 0;
40
+ }
41
+
42
+ int setrlimit(int /* type */, rlimit* /* src */) {
43
+ // Do nothing for setting them for now.
44
+ // We couldn't set the stack size at runtime even if we wanted to.
45
+ return 0;
46
+ }
47
+
48
+ int getpriority(int which, int who) {
49
+ if (which != PRIO_PROCESS || who != 0) {
50
+ errno = EINVAL;
51
+ return -1;
52
+ }
53
+
54
+ auto ret = GetPriorityClass(GetCurrentProcess());
55
+ switch (ret) {
56
+ case 0:
57
+ errno = EACCES;
58
+ return -1;
59
+ case IDLE_PRIORITY_CLASS:
60
+ return 39;
61
+ case BELOW_NORMAL_PRIORITY_CLASS:
62
+ return 30;
63
+ case NORMAL_PRIORITY_CLASS:
64
+ return 20;
65
+ case ABOVE_NORMAL_PRIORITY_CLASS:
66
+ return 10;
67
+ case HIGH_PRIORITY_CLASS:
68
+ return 0;
69
+ case REALTIME_PRIORITY_CLASS:
70
+ // I'd return -1 if it weren't an error :(
71
+ // Realtime priority processes can't be set
72
+ // through these APIs because it's a terrible idea.
73
+ return 0;
74
+ default:
75
+ errno = EINVAL;
76
+ return -1;
77
+ }
78
+ }
79
+
80
+ int setpriority(int which, int who, int value) {
81
+ if (which != PRIO_PROCESS || who != 0) {
82
+ errno = EINVAL;
83
+ return -1;
84
+ }
85
+
86
+ auto newClass = [value] {
87
+ if (value >= 39) {
88
+ return IDLE_PRIORITY_CLASS;
89
+ } else if (value >= 30) {
90
+ return BELOW_NORMAL_PRIORITY_CLASS;
91
+ } else if (value >= 20) {
92
+ return NORMAL_PRIORITY_CLASS;
93
+ } else if (value >= 10) {
94
+ return ABOVE_NORMAL_PRIORITY_CLASS;
95
+ } else {
96
+ return HIGH_PRIORITY_CLASS;
97
+ }
98
+ }();
99
+
100
+ if (!SetPriorityClass(GetCurrentProcess(), newClass)) {
101
+ errno = EACCES;
102
+ return -1;
103
+ }
104
+ return 0;
105
+ }
106
+ }
107
+
108
+ #endif
@@ -0,0 +1,71 @@
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
+ #if !defined(_WIN32)
20
+ #include <sys/resource.h>
21
+ #else
22
+ #include <cstdint>
23
+
24
+ #include <folly/portability/SysTime.h>
25
+
26
+ #define PRIO_PROCESS 1
27
+
28
+ #define RLIMIT_CORE 0
29
+ #define RLIMIT_NOFILE 0
30
+ #define RLIMIT_DATA 0
31
+ #define RLIMIT_STACK 3
32
+ #define RLIM_INFINITY SIZE_MAX
33
+
34
+ #define RUSAGE_SELF 0
35
+ #define RUSAGE_CHILDREN 0
36
+ #define RUSAGE_THREAD 0
37
+
38
+ using rlim_t = size_t;
39
+ struct rlimit {
40
+ rlim_t rlim_cur;
41
+ rlim_t rlim_max;
42
+ };
43
+
44
+ struct rusage {
45
+ timeval ru_utime;
46
+ timeval ru_stime;
47
+ long ru_maxrss;
48
+ long ru_ixrss;
49
+ long ru_idrss;
50
+ long ru_isrss;
51
+ long ru_minflt;
52
+ long ru_majflt;
53
+ long ru_nswap;
54
+ long ru_inblock;
55
+ long ru_oublock;
56
+ long ru_msgsnd;
57
+ long ru_msgrcv;
58
+ long ru_nsignals;
59
+ long ru_nvcsw;
60
+ long ru_nivcsw;
61
+ };
62
+
63
+ extern "C" {
64
+ int getrlimit(int type, rlimit* dst);
65
+ int getrusage(int who, rusage* usage);
66
+ int setrlimit(int type, rlimit* src);
67
+
68
+ int getpriority(int which, int who);
69
+ int setpriority(int which, int who, int value);
70
+ }
71
+ #endif
@@ -0,0 +1,66 @@
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
+ #include <folly/portability/SysStat.h>
18
+
19
+ #ifdef _WIN32
20
+ #include <folly/portability/Windows.h>
21
+
22
+ extern "C" {
23
+ int chmod(char const* fn, int am) {
24
+ return _chmod(fn, am);
25
+ }
26
+
27
+ int fchmod(int fd, mode_t mode) {
28
+ HANDLE h = (HANDLE)_get_osfhandle(fd);
29
+ if (h == INVALID_HANDLE_VALUE) {
30
+ return -1;
31
+ }
32
+
33
+ FILE_ATTRIBUTE_TAG_INFO attr{};
34
+ if (!GetFileInformationByHandleEx(
35
+ h, FileAttributeTagInfo, &attr, sizeof(attr))) {
36
+ return -1;
37
+ }
38
+
39
+ if (mode & _S_IWRITE) {
40
+ attr.FileAttributes &= ~FILE_ATTRIBUTE_READONLY;
41
+ } else {
42
+ attr.FileAttributes |= FILE_ATTRIBUTE_READONLY;
43
+ }
44
+
45
+ if (!SetFileInformationByHandle(
46
+ h, FileAttributeTagInfo, &attr, sizeof(attr))) {
47
+ return -1;
48
+ }
49
+
50
+ return 0;
51
+ }
52
+
53
+ // Just return the result of a normal stat for now
54
+ int lstat(const char* path, struct stat* st) {
55
+ return stat(path, st);
56
+ }
57
+
58
+ int mkdir(const char* fn, int /* mode */) {
59
+ return _mkdir(fn);
60
+ }
61
+
62
+ int umask(int md) {
63
+ return _umask(md);
64
+ }
65
+ }
66
+ #endif
@@ -0,0 +1,52 @@
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 <sys/stat.h>
20
+
21
+ #ifdef _WIN32
22
+ #include <folly/portability/SysTypes.h>
23
+
24
+ // Windows gives weird names to these.
25
+ #define S_IXUSR 0
26
+ #define S_IWUSR _S_IWRITE
27
+ #define S_IRUSR _S_IREAD
28
+ // No group/other permissions so default to user.
29
+ #define S_IXGRP S_IXUSR
30
+ #define S_IWGRP S_IWUSR
31
+ #define S_IRGRP S_IRUSR
32
+ #define S_IXOTH S_IXUSR
33
+ #define S_IWOTH S_IWUSR
34
+ #define S_IROTH S_IRUSR
35
+ #define S_IRWXU (S_IRUSR | S_IWUSR | S_IXUSR)
36
+ #define S_IRWXG (S_IRGRP | S_IWGRP | S_IXGRP)
37
+ #define S_IRWXO (S_IROTH | S_IWOTH | S_IXOTH)
38
+
39
+ #define S_ISDIR(mode) (((mode) & (_S_IFDIR)) == (_S_IFDIR) ? 1 : 0)
40
+ #define S_ISREG(mode) (((mode) & (_S_IFREG)) == (_S_IFREG) ? 1 : 0)
41
+
42
+ // This isn't defined anywhere, so give a sane value.
43
+ #define MAXSYMLINKS 255
44
+
45
+ extern "C" {
46
+ int chmod(char const* fn, int am);
47
+ int fchmod(int fd, mode_t mode);
48
+ int lstat(const char* path, struct stat* st);
49
+ int mkdir(const char* fn, int mode);
50
+ int umask(int md);
51
+ }
52
+ #endif
@@ -0,0 +1,73 @@
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 <cerrno>
20
+
21
+ #include <folly/CPortability.h>
22
+ #include <folly/Portability.h>
23
+
24
+ #if !defined(_WIN32)
25
+
26
+ #include <unistd.h>
27
+
28
+ #include <sys/syscall.h>
29
+
30
+ #if defined(__APPLE__)
31
+ #define FOLLY_SYS_gettid SYS_thread_selfid
32
+ #elif defined(SYS_gettid)
33
+ #define FOLLY_SYS_gettid SYS_gettid
34
+ #else
35
+ #define FOLLY_SYS_gettid __NR_gettid
36
+ #endif
37
+
38
+ #endif
39
+
40
+ namespace folly {
41
+ namespace detail {
42
+
43
+ // linux_syscall
44
+ //
45
+ // Follows the interface of syscall(2), as described for linux. Other platforms
46
+ // offer compatible interfaces. Defined for all platforms, whereas syscall(2)
47
+ // is only defined on some platforms and is only exported by unistd.h on those
48
+ // platforms which have unistd.h.
49
+ //
50
+ // Note: This uses C++ variadic args while syscall(2) uses C variadic args,
51
+ // which have different signatures and which use different calling conventions.
52
+ //
53
+ // Note: Some syscall numbers are specified by POSIX but some are specific to
54
+ // each platform and vary by operating system and architecture. Caution is
55
+ // required.
56
+ //
57
+ // mimic: syscall(2), linux
58
+ template <typename... A>
59
+ FOLLY_ERASE long linux_syscall(long number, A... a) {
60
+ #if defined(_WIN32) || (defined(__EMSCRIPTEN__) && !defined(syscall))
61
+ errno = ENOSYS;
62
+ return -1;
63
+ #else
64
+ // syscall is deprecated under iOS >= 10.0
65
+ FOLLY_PUSH_WARNING
66
+ FOLLY_GNU_DISABLE_WARNING("-Wdeprecated-declarations")
67
+ return syscall(number, a...);
68
+ FOLLY_POP_WARNING
69
+ #endif
70
+ }
71
+
72
+ } // namespace detail
73
+ } // namespace folly