@triniwiz/nativescript-masonkit 1.0.0-alpha.11 → 1.0.0-alpha.13

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 (306) hide show
  1. package/helpers.js +0 -3
  2. package/helpers.js.map +1 -1
  3. package/package.json +1 -1
  4. package/platforms/android/masonkit-release.aar +0 -0
  5. package/style.js +0 -1
  6. package/style.js.map +1 -1
  7. package/node.d.ts +0 -2
  8. package/node.js +0 -3
  9. package/node.js.map +0 -1
  10. package/platforms/ios/Podfile +0 -1
  11. package/platforms/ios/build.xcconfig +0 -5
  12. package/platforms/ios/prebuild.sh +0 -101
  13. package/platforms/new_native_src/cpp/Caches.cpp +0 -36
  14. package/platforms/new_native_src/cpp/Caches.h +0 -42
  15. package/platforms/new_native_src/cpp/Common.h +0 -34
  16. package/platforms/new_native_src/cpp/ConcurrentMap.h +0 -57
  17. package/platforms/new_native_src/cpp/Helpers.cpp +0 -101
  18. package/platforms/new_native_src/cpp/Helpers.h +0 -364
  19. package/platforms/new_native_src/cpp/MasonImpl.cpp +0 -68
  20. package/platforms/new_native_src/cpp/MasonImpl.h +0 -40
  21. package/platforms/new_native_src/cpp/MasonNodeImpl.cpp +0 -89
  22. package/platforms/new_native_src/cpp/MasonNodeImpl.h +0 -47
  23. package/platforms/new_native_src/cpp/MasonStyleImpl.cpp +0 -2181
  24. package/platforms/new_native_src/cpp/MasonStyleImpl.h +0 -420
  25. package/platforms/new_native_src/cpp/include/mason_native.h +0 -972
  26. package/platforms/new_native_src/cpp/include/robin_hood.h +0 -2544
  27. package/src-native/pods/Headers/include/APIDesign.md +0 -72
  28. package/src-native/pods/Headers/include/DEPS +0 -10
  29. package/src-native/pods/Headers/include/DIR_METADATA +0 -11
  30. package/src-native/pods/Headers/include/OWNERS +0 -23
  31. package/src-native/pods/Headers/include/cppgc/DEPS +0 -8
  32. package/src-native/pods/Headers/include/cppgc/OWNERS +0 -2
  33. package/src-native/pods/Headers/include/cppgc/README.md +0 -133
  34. package/src-native/pods/Headers/include/cppgc/allocation.h +0 -310
  35. package/src-native/pods/Headers/include/cppgc/common.h +0 -29
  36. package/src-native/pods/Headers/include/cppgc/cross-thread-persistent.h +0 -465
  37. package/src-native/pods/Headers/include/cppgc/custom-space.h +0 -97
  38. package/src-native/pods/Headers/include/cppgc/default-platform.h +0 -67
  39. package/src-native/pods/Headers/include/cppgc/ephemeron-pair.h +0 -30
  40. package/src-native/pods/Headers/include/cppgc/explicit-management.h +0 -100
  41. package/src-native/pods/Headers/include/cppgc/garbage-collected.h +0 -106
  42. package/src-native/pods/Headers/include/cppgc/heap-consistency.h +0 -266
  43. package/src-native/pods/Headers/include/cppgc/heap-state.h +0 -82
  44. package/src-native/pods/Headers/include/cppgc/heap-statistics.h +0 -120
  45. package/src-native/pods/Headers/include/cppgc/heap.h +0 -206
  46. package/src-native/pods/Headers/include/cppgc/internal/api-constants.h +0 -55
  47. package/src-native/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +0 -48
  48. package/src-native/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +0 -79
  49. package/src-native/pods/Headers/include/cppgc/internal/compiler-specific.h +0 -38
  50. package/src-native/pods/Headers/include/cppgc/internal/finalizer-trait.h +0 -93
  51. package/src-native/pods/Headers/include/cppgc/internal/gc-info.h +0 -156
  52. package/src-native/pods/Headers/include/cppgc/internal/logging.h +0 -50
  53. package/src-native/pods/Headers/include/cppgc/internal/name-trait.h +0 -122
  54. package/src-native/pods/Headers/include/cppgc/internal/persistent-node.h +0 -216
  55. package/src-native/pods/Headers/include/cppgc/internal/pointer-policies.h +0 -186
  56. package/src-native/pods/Headers/include/cppgc/internal/write-barrier.h +0 -435
  57. package/src-native/pods/Headers/include/cppgc/liveness-broker.h +0 -77
  58. package/src-native/pods/Headers/include/cppgc/macros.h +0 -26
  59. package/src-native/pods/Headers/include/cppgc/member.h +0 -291
  60. package/src-native/pods/Headers/include/cppgc/name-provider.h +0 -65
  61. package/src-native/pods/Headers/include/cppgc/object-size-trait.h +0 -58
  62. package/src-native/pods/Headers/include/cppgc/persistent.h +0 -370
  63. package/src-native/pods/Headers/include/cppgc/platform.h +0 -156
  64. package/src-native/pods/Headers/include/cppgc/prefinalizer.h +0 -75
  65. package/src-native/pods/Headers/include/cppgc/process-heap-statistics.h +0 -36
  66. package/src-native/pods/Headers/include/cppgc/sentinel-pointer.h +0 -32
  67. package/src-native/pods/Headers/include/cppgc/source-location.h +0 -92
  68. package/src-native/pods/Headers/include/cppgc/testing.h +0 -106
  69. package/src-native/pods/Headers/include/cppgc/trace-trait.h +0 -116
  70. package/src-native/pods/Headers/include/cppgc/type-traits.h +0 -240
  71. package/src-native/pods/Headers/include/cppgc/visitor.h +0 -379
  72. package/src-native/pods/Headers/include/js_protocol-1.2.json +0 -936
  73. package/src-native/pods/Headers/include/js_protocol-1.3.json +0 -1112
  74. package/src-native/pods/Headers/include/js_protocol.pdl +0 -1709
  75. package/src-native/pods/Headers/include/libffi/arm64/ffi.h +0 -524
  76. package/src-native/pods/Headers/include/libffi/arm64/ffitarget.h +0 -92
  77. package/src-native/pods/Headers/include/libffi/x86_64/ffi.h +0 -524
  78. package/src-native/pods/Headers/include/libffi/x86_64/ffitarget.h +0 -147
  79. package/src-native/pods/Headers/include/libffi.h +0 -12
  80. package/src-native/pods/Headers/include/libplatform/DEPS +0 -9
  81. package/src-native/pods/Headers/include/libplatform/libplatform-export.h +0 -29
  82. package/src-native/pods/Headers/include/libplatform/libplatform.h +0 -106
  83. package/src-native/pods/Headers/include/libplatform/v8-tracing.h +0 -333
  84. package/src-native/pods/Headers/include/v8-array-buffer.h +0 -433
  85. package/src-native/pods/Headers/include/v8-callbacks.h +0 -397
  86. package/src-native/pods/Headers/include/v8-container.h +0 -129
  87. package/src-native/pods/Headers/include/v8-context.h +0 -407
  88. package/src-native/pods/Headers/include/v8-cppgc.h +0 -215
  89. package/src-native/pods/Headers/include/v8-data.h +0 -80
  90. package/src-native/pods/Headers/include/v8-date.h +0 -43
  91. package/src-native/pods/Headers/include/v8-debug.h +0 -168
  92. package/src-native/pods/Headers/include/v8-embedder-heap.h +0 -218
  93. package/src-native/pods/Headers/include/v8-embedder-state-scope.h +0 -51
  94. package/src-native/pods/Headers/include/v8-exception.h +0 -217
  95. package/src-native/pods/Headers/include/v8-extension.h +0 -62
  96. package/src-native/pods/Headers/include/v8-external.h +0 -37
  97. package/src-native/pods/Headers/include/v8-fast-api-calls.h +0 -939
  98. package/src-native/pods/Headers/include/v8-forward.h +0 -81
  99. package/src-native/pods/Headers/include/v8-function-callback.h +0 -475
  100. package/src-native/pods/Headers/include/v8-function.h +0 -125
  101. package/src-native/pods/Headers/include/v8-initialization.h +0 -315
  102. package/src-native/pods/Headers/include/v8-inspector-protocol.h +0 -13
  103. package/src-native/pods/Headers/include/v8-inspector.h +0 -376
  104. package/src-native/pods/Headers/include/v8-internal.h +0 -661
  105. package/src-native/pods/Headers/include/v8-isolate.h +0 -1709
  106. package/src-native/pods/Headers/include/v8-json.h +0 -47
  107. package/src-native/pods/Headers/include/v8-local-handle.h +0 -455
  108. package/src-native/pods/Headers/include/v8-locker.h +0 -149
  109. package/src-native/pods/Headers/include/v8-maybe.h +0 -137
  110. package/src-native/pods/Headers/include/v8-memory-span.h +0 -43
  111. package/src-native/pods/Headers/include/v8-message.h +0 -216
  112. package/src-native/pods/Headers/include/v8-metrics.h +0 -255
  113. package/src-native/pods/Headers/include/v8-microtask-queue.h +0 -152
  114. package/src-native/pods/Headers/include/v8-microtask.h +0 -28
  115. package/src-native/pods/Headers/include/v8-object.h +0 -775
  116. package/src-native/pods/Headers/include/v8-persistent-handle.h +0 -590
  117. package/src-native/pods/Headers/include/v8-platform.h +0 -1092
  118. package/src-native/pods/Headers/include/v8-primitive-object.h +0 -118
  119. package/src-native/pods/Headers/include/v8-primitive.h +0 -866
  120. package/src-native/pods/Headers/include/v8-profiler.h +0 -1198
  121. package/src-native/pods/Headers/include/v8-promise.h +0 -174
  122. package/src-native/pods/Headers/include/v8-proxy.h +0 -50
  123. package/src-native/pods/Headers/include/v8-regexp.h +0 -105
  124. package/src-native/pods/Headers/include/v8-script.h +0 -748
  125. package/src-native/pods/Headers/include/v8-snapshot.h +0 -196
  126. package/src-native/pods/Headers/include/v8-statistics.h +0 -217
  127. package/src-native/pods/Headers/include/v8-template.h +0 -1079
  128. package/src-native/pods/Headers/include/v8-traced-handle.h +0 -420
  129. package/src-native/pods/Headers/include/v8-typed-array.h +0 -282
  130. package/src-native/pods/Headers/include/v8-unwinder-state.h +0 -31
  131. package/src-native/pods/Headers/include/v8-unwinder.h +0 -132
  132. package/src-native/pods/Headers/include/v8-util.h +0 -658
  133. package/src-native/pods/Headers/include/v8-value-serializer-version.h +0 -24
  134. package/src-native/pods/Headers/include/v8-value-serializer.h +0 -279
  135. package/src-native/pods/Headers/include/v8-value.h +0 -526
  136. package/src-native/pods/Headers/include/v8-version-string.h +0 -38
  137. package/src-native/pods/Headers/include/v8-version.h +0 -20
  138. package/src-native/pods/Headers/include/v8-wasm-trap-handler-posix.h +0 -31
  139. package/src-native/pods/Headers/include/v8-wasm-trap-handler-win.h +0 -28
  140. package/src-native/pods/Headers/include/v8-wasm.h +0 -257
  141. package/src-native/pods/Headers/include/v8-weak-callback-info.h +0 -86
  142. package/src-native/pods/Headers/include/v8.h +0 -88
  143. package/src-native/pods/Headers/include/v8config.h +0 -605
  144. package/src-native/pods/Headers/inspector/InspectorServer.h +0 -20
  145. package/src-native/pods/Headers/inspector/JsV8InspectorClient.h +0 -66
  146. package/src-native/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +0 -1123
  147. package/src-native/pods/Headers/inspector/base64.h +0 -9
  148. package/src-native/pods/Headers/inspector/src/base/address-region.h +0 -95
  149. package/src-native/pods/Headers/inspector/src/base/atomic-utils.h +0 -219
  150. package/src-native/pods/Headers/inspector/src/base/atomicops.h +0 -332
  151. package/src-native/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +0 -89
  152. package/src-native/pods/Headers/inspector/src/base/base-export.h +0 -31
  153. package/src-native/pods/Headers/inspector/src/base/bits.h +0 -343
  154. package/src-native/pods/Headers/inspector/src/base/build_config.h +0 -234
  155. package/src-native/pods/Headers/inspector/src/base/compiler-specific.h +0 -136
  156. package/src-native/pods/Headers/inspector/src/base/export-template.h +0 -163
  157. package/src-native/pods/Headers/inspector/src/base/flags.h +0 -130
  158. package/src-native/pods/Headers/inspector/src/base/immediate-crash.h +0 -162
  159. package/src-native/pods/Headers/inspector/src/base/lazy-instance.h +0 -258
  160. package/src-native/pods/Headers/inspector/src/base/logging.h +0 -417
  161. package/src-native/pods/Headers/inspector/src/base/macros.h +0 -423
  162. package/src-native/pods/Headers/inspector/src/base/memory.h +0 -89
  163. package/src-native/pods/Headers/inspector/src/base/once.h +0 -108
  164. package/src-native/pods/Headers/inspector/src/base/optional.h +0 -882
  165. package/src-native/pods/Headers/inspector/src/base/platform/mutex.h +0 -370
  166. package/src-native/pods/Headers/inspector/src/base/platform/platform.h +0 -476
  167. package/src-native/pods/Headers/inspector/src/base/platform/semaphore.h +0 -108
  168. package/src-native/pods/Headers/inspector/src/base/platform/v8-time.h +0 -513
  169. package/src-native/pods/Headers/inspector/src/base/platform/wrappers.h +0 -73
  170. package/src-native/pods/Headers/inspector/src/base/safe_conversions.h +0 -389
  171. package/src-native/pods/Headers/inspector/src/base/safe_conversions_impl.h +0 -822
  172. package/src-native/pods/Headers/inspector/src/base/template-utils.h +0 -113
  173. package/src-native/pods/Headers/inspector/src/base/v8-fallthrough.h +0 -21
  174. package/src-native/pods/Headers/inspector/src/common/checks.h +0 -38
  175. package/src-native/pods/Headers/inspector/src/common/globals.h +0 -1842
  176. package/src-native/pods/Headers/inspector/src/debug/debug-interface.h +0 -667
  177. package/src-native/pods/Headers/inspector/src/debug/interface-types.h +0 -175
  178. package/src-native/pods/Headers/inspector/src/init/v8.h +0 -52
  179. package/src-native/pods/Headers/inspector/src/inspector/custom-preview.h +0 -24
  180. package/src-native/pods/Headers/inspector/src/inspector/injected-script.h +0 -251
  181. package/src-native/pods/Headers/inspector/src/inspector/inspected-context.h +0 -79
  182. package/src-native/pods/Headers/inspector/src/inspector/protocol/CSS.h +0 -2148
  183. package/src-native/pods/Headers/inspector/src/inspector/protocol/Console.h +0 -211
  184. package/src-native/pods/Headers/inspector/src/inspector/protocol/DOM.h +0 -1008
  185. package/src-native/pods/Headers/inspector/src/inspector/protocol/Debugger.h +0 -892
  186. package/src-native/pods/Headers/inspector/src/inspector/protocol/Forward.h +0 -75
  187. package/src-native/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +0 -346
  188. package/src-native/pods/Headers/inspector/src/inspector/protocol/Log.h +0 -342
  189. package/src-native/pods/Headers/inspector/src/inspector/protocol/Network.h +0 -2528
  190. package/src-native/pods/Headers/inspector/src/inspector/protocol/Overlay.h +0 -281
  191. package/src-native/pods/Headers/inspector/src/inspector/protocol/Page.h +0 -1189
  192. package/src-native/pods/Headers/inspector/src/inspector/protocol/Profiler.h +0 -1001
  193. package/src-native/pods/Headers/inspector/src/inspector/protocol/Protocol.h +0 -617
  194. package/src-native/pods/Headers/inspector/src/inspector/protocol/Runtime.h +0 -1696
  195. package/src-native/pods/Headers/inspector/src/inspector/protocol/Schema.h +0 -146
  196. package/src-native/pods/Headers/inspector/src/inspector/protocol/Security.h +0 -793
  197. package/src-native/pods/Headers/inspector/src/inspector/remote-object-id.h +0 -54
  198. package/src-native/pods/Headers/inspector/src/inspector/search-util.h +0 -26
  199. package/src-native/pods/Headers/inspector/src/inspector/string-16.h +0 -180
  200. package/src-native/pods/Headers/inspector/src/inspector/string-util.h +0 -128
  201. package/src-native/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +0 -48
  202. package/src-native/pods/Headers/inspector/src/inspector/v8-console-message.h +0 -147
  203. package/src-native/pods/Headers/inspector/src/inspector/v8-console.h +0 -173
  204. package/src-native/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +0 -62
  205. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +0 -248
  206. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-id.h +0 -44
  207. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-script.h +0 -123
  208. package/src-native/pods/Headers/inspector/src/inspector/v8-debugger.h +0 -257
  209. package/src-native/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +0 -91
  210. package/src-native/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +0 -80
  211. package/src-native/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +0 -191
  212. package/src-native/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +0 -156
  213. package/src-native/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +0 -34
  214. package/src-native/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +0 -71
  215. package/src-native/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +0 -24
  216. package/src-native/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +0 -70
  217. package/src-native/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +0 -88
  218. package/src-native/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +0 -104
  219. package/src-native/pods/Headers/inspector/src/inspector/v8-regex.h +0 -38
  220. package/src-native/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +0 -157
  221. package/src-native/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +0 -38
  222. package/src-native/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +0 -164
  223. package/src-native/pods/Headers/inspector/src/inspector/v8-string-conversions.h +0 -17
  224. package/src-native/pods/Headers/inspector/src/inspector/v8-value-utils.h +0 -23
  225. package/src-native/pods/Headers/inspector/src/inspector/value-mirror.h +0 -87
  226. package/src-native/pods/Headers/inspector/src/libplatform/default-platform.h +0 -92
  227. package/src-native/pods/Headers/inspector/src/logging/tracing-flags.h +0 -50
  228. package/src-native/pods/Headers/inspector/src/numbers/conversions.h +0 -183
  229. package/src-native/pods/Headers/inspector/src/tracing/trace-event.h +0 -664
  230. package/src-native/pods/Headers/inspector/src/utils/allocation.h +0 -367
  231. package/src-native/pods/Headers/inspector/src/utils/vector.h +0 -324
  232. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +0 -305
  233. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +0 -314
  234. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +0 -62
  235. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +0 -6
  236. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +0 -58
  237. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +0 -47
  238. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +0 -80
  239. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +0 -52
  240. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +0 -26
  241. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +0 -104
  242. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +0 -39
  243. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +0 -406
  244. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +0 -32
  245. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +0 -158
  246. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +0 -99
  247. package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +0 -139
  248. package/src-native/pods/Headers/inspector/utils.h +0 -32
  249. package/src-native/pods/Headers/inspector/v8-inspector-platform.h +0 -44
  250. package/src-native/pods/Headers/jsi/decorator.h +0 -762
  251. package/src-native/pods/Headers/jsi/instrumentation.h +0 -117
  252. package/src-native/pods/Headers/jsi/jsi-inl.h +0 -322
  253. package/src-native/pods/Headers/jsi/jsi.h +0 -1387
  254. package/src-native/pods/Headers/jsi/jsilib.h +0 -59
  255. package/src-native/pods/Headers/jsi/threadsafe.h +0 -79
  256. package/src-native/pods/Headers/runtime/ArgConverter.h +0 -61
  257. package/src-native/pods/Headers/runtime/ArrayAdapter.h +0 -13
  258. package/src-native/pods/Headers/runtime/Caches.h +0 -98
  259. package/src-native/pods/Headers/runtime/ClassBuilder.h +0 -61
  260. package/src-native/pods/Headers/runtime/Common.h +0 -9
  261. package/src-native/pods/Headers/runtime/ConcurrentMap.h +0 -55
  262. package/src-native/pods/Headers/runtime/ConcurrentQueue.h +0 -28
  263. package/src-native/pods/Headers/runtime/Console.h +0 -27
  264. package/src-native/pods/Headers/runtime/Constants.h +0 -15
  265. package/src-native/pods/Headers/runtime/DataWrapper.h +0 -671
  266. package/src-native/pods/Headers/runtime/DictionaryAdapter.h +0 -13
  267. package/src-native/pods/Headers/runtime/ExtVector.h +0 -21
  268. package/src-native/pods/Headers/runtime/FFICall.h +0 -105
  269. package/src-native/pods/Headers/runtime/FastEnumerationAdapter.h +0 -13
  270. package/src-native/pods/Headers/runtime/FunctionReference.h +0 -18
  271. package/src-native/pods/Headers/runtime/Helpers.h +0 -84
  272. package/src-native/pods/Headers/runtime/InlineFunctions.h +0 -16
  273. package/src-native/pods/Headers/runtime/Interop.h +0 -202
  274. package/src-native/pods/Headers/runtime/KnownUnknownClassPair.h +0 -35
  275. package/src-native/pods/Headers/runtime/Metadata.h +0 -981
  276. package/src-native/pods/Headers/runtime/MetadataBuilder.h +0 -72
  277. package/src-native/pods/Headers/runtime/MetadataInlines.h +0 -157
  278. package/src-native/pods/Headers/runtime/ModuleInternal.h +0 -59
  279. package/src-native/pods/Headers/runtime/NSDataAdapter.h +0 -13
  280. package/src-native/pods/Headers/runtime/NativeScriptException.h +0 -27
  281. package/src-native/pods/Headers/runtime/ObjectManager.h +0 -31
  282. package/src-native/pods/Headers/runtime/OneByteStringResource.h +0 -21
  283. package/src-native/pods/Headers/runtime/Pointer.h +0 -26
  284. package/src-native/pods/Headers/runtime/PromiseProxy.h +0 -15
  285. package/src-native/pods/Headers/runtime/Reference.h +0 -38
  286. package/src-native/pods/Headers/runtime/Runtime.h +0 -67
  287. package/src-native/pods/Headers/runtime/RuntimeConfig.h +0 -17
  288. package/src-native/pods/Headers/runtime/SetTimeout.h +0 -34
  289. package/src-native/pods/Headers/runtime/SimpleAllocator.h +0 -23
  290. package/src-native/pods/Headers/runtime/StringHasher.h +0 -315
  291. package/src-native/pods/Headers/runtime/SymbolIterator.h +0 -18
  292. package/src-native/pods/Headers/runtime/SymbolLoader.h +0 -27
  293. package/src-native/pods/Headers/runtime/TNSDerivedClass.h +0 -8
  294. package/src-native/pods/Headers/runtime/TSHelpers.h +0 -15
  295. package/src-native/pods/Headers/runtime/Tasks.h +0 -19
  296. package/src-native/pods/Headers/runtime/UnmanagedType.h +0 -21
  297. package/src-native/pods/Headers/runtime/WeakRef.h +0 -15
  298. package/src-native/pods/Headers/runtime/Worker.h +0 -26
  299. package/src-native/pods/Headers/runtime/robin_hood.h +0 -2184
  300. package/src-native/pods/Headers/v8runtime/HostProxy.h +0 -71
  301. package/src-native/pods/Headers/v8runtime/JSIV8ValueConverter.h +0 -70
  302. package/src-native/pods/Headers/v8runtime/V8PointerValue.h +0 -44
  303. package/src-native/pods/Headers/v8runtime/V8Runtime.h +0 -215
  304. package/src-native/pods/Headers/v8runtime/V8RuntimeConfig.h +0 -26
  305. package/src-native/pods/Headers/v8runtime/V8RuntimeFactory.h +0 -21
  306. package/src-native/pods/NativeScript.podspec +0 -68
@@ -1,136 +0,0 @@
1
- // Copyright 2014 the V8 project authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- #ifndef V8_BASE_COMPILER_SPECIFIC_H_
6
- #define V8_BASE_COMPILER_SPECIFIC_H_
7
-
8
- #include "include/v8config.h"
9
-
10
- // Annotate a using ALLOW_UNUSED_TYPE = or function indicating it's ok if it's
11
- // not used. Use like:
12
- // using Bar = Foo;
13
- #if V8_HAS_ATTRIBUTE_UNUSED
14
- #define ALLOW_UNUSED_TYPE __attribute__((unused))
15
- #else
16
- #define ALLOW_UNUSED_TYPE
17
- #endif
18
-
19
- // Tell the compiler a function is using a printf-style format string.
20
- // |format_param| is the one-based index of the format string parameter;
21
- // |dots_param| is the one-based index of the "..." parameter.
22
- // For v*printf functions (which take a va_list), pass 0 for dots_param.
23
- // (This is undocumented but matches what the system C headers do.)
24
- #if defined(__GNUC__)
25
- #define PRINTF_FORMAT(format_param, dots_param) \
26
- __attribute__((format(printf, format_param, dots_param)))
27
- #else
28
- #define PRINTF_FORMAT(format_param, dots_param)
29
- #endif
30
-
31
- // The C++ standard requires that static const members have an out-of-class
32
- // definition (in a single compilation unit), but MSVC chokes on this (when
33
- // language extensions, which are required, are enabled). (You're only likely to
34
- // notice the need for a definition if you take the address of the member or,
35
- // more commonly, pass it to a function that takes it as a reference argument --
36
- // probably an STL function.) This macro makes MSVC do the right thing. See
37
- // http://msdn.microsoft.com/en-us/library/34h23df8(v=vs.100).aspx for more
38
- // information. Use like:
39
- //
40
- // In .h file:
41
- // struct Foo {
42
- // static const int kBar = 5;
43
- // };
44
- //
45
- // In .cc file:
46
- // STATIC_CONST_MEMBER_DEFINITION const int Foo::kBar;
47
- #if V8_HAS_DECLSPEC_SELECTANY
48
- #define STATIC_CONST_MEMBER_DEFINITION __declspec(selectany)
49
- #else
50
- #define STATIC_CONST_MEMBER_DEFINITION
51
- #endif
52
-
53
- #if V8_CC_MSVC
54
-
55
- #include <sal.h>
56
-
57
- // Macros for suppressing and disabling warnings on MSVC.
58
- //
59
- // Warning numbers are enumerated at:
60
- // http://msdn.microsoft.com/en-us/library/8x5x43k7(VS.80).aspx
61
- //
62
- // The warning pragma:
63
- // http://msdn.microsoft.com/en-us/library/2c8f766e(VS.80).aspx
64
- //
65
- // Using __pragma instead of #pragma inside macros:
66
- // http://msdn.microsoft.com/en-us/library/d9x1s805.aspx
67
-
68
- // MSVC_SUPPRESS_WARNING disables warning |n| for the remainder of the line and
69
- // for the next line of the source file.
70
- #define MSVC_SUPPRESS_WARNING(n) __pragma(warning(suppress : n))
71
-
72
- // Allows exporting a class that inherits from a non-exported base class.
73
- // This uses suppress instead of push/pop because the delimiter after the
74
- // declaration (either "," or "{") has to be placed before the pop macro.
75
- //
76
- // Example usage:
77
- // class EXPORT_API Foo : NON_EXPORTED_BASE(public Bar) {
78
- //
79
- // MSVC Compiler warning C4275:
80
- // non dll-interface class 'Bar' used as base for dll-interface class 'Foo'.
81
- // Note that this is intended to be used only when no access to the base class'
82
- // static data is done through derived classes or inline methods. For more info,
83
- // see http://msdn.microsoft.com/en-us/library/3tdb471s(VS.80).aspx
84
- #define NON_EXPORTED_BASE(code) \
85
- MSVC_SUPPRESS_WARNING(4275) \
86
- code
87
-
88
- #else // Not MSVC
89
-
90
- #define MSVC_SUPPRESS_WARNING(n)
91
- #define NON_EXPORTED_BASE(code) code
92
-
93
- #endif // V8_CC_MSVC
94
-
95
- // Allowing the use of noexcept by removing the keyword on older compilers that
96
- // do not support adding noexcept to default members.
97
- // Disabled on MSVC because constructors of standard containers are not noexcept
98
- // there.
99
- #if ((!defined(V8_CC_GNU) && !defined(V8_CC_MSVC) && \
100
- !defined(V8_TARGET_ARCH_MIPS) && !defined(V8_TARGET_ARCH_MIPS64) && \
101
- !defined(V8_TARGET_ARCH_PPC) && !defined(V8_TARGET_ARCH_PPC64) && \
102
- !defined(V8_TARGET_ARCH_RISCV64)) || \
103
- (defined(__clang__) && __cplusplus > 201300L))
104
- #define V8_NOEXCEPT noexcept
105
- #else
106
- #define V8_NOEXCEPT
107
- #endif
108
-
109
- // Specify memory alignment for structs, classes, etc.
110
- // Use like:
111
- // class ALIGNAS(16) MyClass { ... }
112
- // ALIGNAS(16) int array[4];
113
- //
114
- // In most places you can use the C++11 keyword "alignas", which is preferred.
115
- //
116
- // But compilers have trouble mixing __attribute__((...)) syntax with
117
- // alignas(...) syntax.
118
- //
119
- // Doesn't work in clang or gcc:
120
- // struct alignas(16) __attribute__((packed)) S { char c; };
121
- // Works in clang but not gcc:
122
- // struct __attribute__((packed)) alignas(16) S2 { char c; };
123
- // Works in clang and gcc:
124
- // struct alignas(16) S3 { char c; } __attribute__((packed));
125
- //
126
- // There are also some attributes that must be specified *before* a class
127
- // definition: visibility (used for exporting functions/classes) is one of
128
- // these attributes. This means that it is not possible to use alignas() with a
129
- // class that is marked as exported.
130
- #if defined(V8_CC_MSVC)
131
- #define ALIGNAS(byte_alignment) __declspec(align(byte_alignment))
132
- #else
133
- #define ALIGNAS(byte_alignment) __attribute__((aligned(byte_alignment)))
134
- #endif
135
-
136
- #endif // V8_BASE_COMPILER_SPECIFIC_H_
@@ -1,163 +0,0 @@
1
- // Copyright 2017 the V8 project authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- #ifndef V8_BASE_EXPORT_TEMPLATE_H_
6
- #define V8_BASE_EXPORT_TEMPLATE_H_
7
-
8
- // Synopsis
9
- //
10
- // This header provides macros for using FOO_EXPORT macros with explicit
11
- // template instantiation declarations and definitions.
12
- // Generally, the FOO_EXPORT macros are used at declarations,
13
- // and GCC requires them to be used at explicit instantiation declarations,
14
- // but MSVC requires __declspec(dllexport) to be used at the explicit
15
- // instantiation definitions instead.
16
-
17
- // Usage
18
- //
19
- // In a header file, write:
20
- //
21
- // extern template class EXPORT_TEMPLATE_DECLARE(FOO_EXPORT) foo<bar>;
22
- //
23
- // In a source file, write:
24
- //
25
- // template class EXPORT_TEMPLATE_DEFINE(FOO_EXPORT) foo<bar>;
26
-
27
- // Implementation notes
28
- //
29
- // The implementation of this header uses some subtle macro semantics to
30
- // detect what the provided FOO_EXPORT value was defined as and then
31
- // to dispatch to appropriate macro definitions. Unfortunately,
32
- // MSVC's C preprocessor is rather non-compliant and requires special
33
- // care to make it work.
34
- //
35
- // Issue 1.
36
- //
37
- // #define F(x)
38
- // F()
39
- //
40
- // MSVC emits warning C4003 ("not enough actual parameters for macro
41
- // 'F'), even though it's a valid macro invocation. This affects the
42
- // macros below that take just an "export" parameter, because export
43
- // may be empty.
44
- //
45
- // As a workaround, we can add a dummy parameter and arguments:
46
- //
47
- // #define F(x,_)
48
- // F(,)
49
- //
50
- // Issue 2.
51
- //
52
- // #define F(x) G##x
53
- // #define Gj() ok
54
- // F(j())
55
- //
56
- // The correct replacement for "F(j())" is "ok", but MSVC replaces it
57
- // with "Gj()". As a workaround, we can pass the result to an
58
- // identity macro to force MSVC to look for replacements again. (This
59
- // is why EXPORT_TEMPLATE_STYLE_3 exists.)
60
-
61
- #define EXPORT_TEMPLATE_DECLARE(export) \
62
- EXPORT_TEMPLATE_INVOKE(DECLARE, EXPORT_TEMPLATE_STYLE(export, ), export)
63
- #define EXPORT_TEMPLATE_DEFINE(export) \
64
- EXPORT_TEMPLATE_INVOKE(DEFINE, EXPORT_TEMPLATE_STYLE(export, ), export)
65
-
66
- // INVOKE is an internal helper macro to perform parameter replacements
67
- // and token pasting to chain invoke another macro. E.g.,
68
- // EXPORT_TEMPLATE_INVOKE(DECLARE, DEFAULT, FOO_EXPORT)
69
- // will export to call
70
- // EXPORT_TEMPLATE_DECLARE_DEFAULT(FOO_EXPORT, )
71
- // (but with FOO_EXPORT expanded too).
72
- #define EXPORT_TEMPLATE_INVOKE(which, style, export) \
73
- EXPORT_TEMPLATE_INVOKE_2(which, style, export)
74
- #define EXPORT_TEMPLATE_INVOKE_2(which, style, export) \
75
- EXPORT_TEMPLATE_##which##_##style(export, )
76
-
77
- // Default style is to apply the FOO_EXPORT macro at declaration sites.
78
- #define EXPORT_TEMPLATE_DECLARE_DEFAULT(export, _) export
79
- #define EXPORT_TEMPLATE_DEFINE_DEFAULT(export, _)
80
-
81
- // The "MSVC hack" style is used when FOO_EXPORT is defined
82
- // as __declspec(dllexport), which MSVC requires to be used at
83
- // definition sites instead.
84
- #define EXPORT_TEMPLATE_DECLARE_MSVC_HACK(export, _)
85
- #define EXPORT_TEMPLATE_DEFINE_MSVC_HACK(export, _) export
86
-
87
- // EXPORT_TEMPLATE_STYLE is an internal helper macro that identifies which
88
- // export style needs to be used for the provided FOO_EXPORT macro definition.
89
- // "", "__attribute__(...)", and "__declspec(dllimport)" are mapped
90
- // to "DEFAULT"; while "__declspec(dllexport)" is mapped to "MSVC_HACK".
91
- //
92
- // It's implemented with token pasting to transform the __attribute__ and
93
- // __declspec annotations into macro invocations. E.g., if FOO_EXPORT is
94
- // defined as "__declspec(dllimport)", it undergoes the following sequence of
95
- // macro substitutions:
96
- // EXPORT_TEMPLATE_STYLE(FOO_EXPORT, )
97
- // EXPORT_TEMPLATE_STYLE_2(__declspec(dllimport), )
98
- // EXPORT_TEMPLATE_STYLE_3(EXPORT_TEMPLATE_STYLE_MATCH__declspec(dllimport))
99
- // EXPORT_TEMPLATE_STYLE_MATCH__declspec(dllimport)
100
- // EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport
101
- // DEFAULT
102
- #define EXPORT_TEMPLATE_STYLE(export, _) EXPORT_TEMPLATE_STYLE_2(export, )
103
- #define EXPORT_TEMPLATE_STYLE_2(export, _) \
104
- EXPORT_TEMPLATE_STYLE_3( \
105
- EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA##export)
106
- #define EXPORT_TEMPLATE_STYLE_3(style) style
107
-
108
- // Internal helper macros for EXPORT_TEMPLATE_STYLE.
109
- //
110
- // XXX: C++ reserves all identifiers containing "__" for the implementation,
111
- // but "__attribute__" and "__declspec" already contain "__" and the token-paste
112
- // operator can only add characters; not remove them. To minimize the risk of
113
- // conflict with implementations, we include "foj3FJo5StF0OvIzl7oMxA" (a random
114
- // 128-bit string, encoded in Base64) in the macro name.
115
- #define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA DEFAULT
116
- #define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__attribute__(...) \
117
- DEFAULT
118
- #define EXPORT_TEMPLATE_STYLE_MATCH_foj3FJo5StF0OvIzl7oMxA__declspec(arg) \
119
- EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_##arg
120
-
121
- // Internal helper macros for EXPORT_TEMPLATE_STYLE.
122
- #define EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllexport MSVC_HACK
123
- #define EXPORT_TEMPLATE_STYLE_MATCH_DECLSPEC_dllimport DEFAULT
124
-
125
- // Sanity checks.
126
- //
127
- // EXPORT_TEMPLATE_TEST uses the same macro invocation pattern as
128
- // EXPORT_TEMPLATE_DECLARE and EXPORT_TEMPLATE_DEFINE do to check that they're
129
- // working correctly. When they're working correctly, the sequence of macro
130
- // replacements should go something like:
131
- //
132
- // EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport));
133
- //
134
- // static_assert(EXPORT_TEMPLATE_INVOKE(TEST_DEFAULT,
135
- // EXPORT_TEMPLATE_STYLE(__declspec(dllimport), ),
136
- // __declspec(dllimport)), "__declspec(dllimport)");
137
- //
138
- // static_assert(EXPORT_TEMPLATE_INVOKE(TEST_DEFAULT,
139
- // DEFAULT, __declspec(dllimport)), "__declspec(dllimport)");
140
- //
141
- // static_assert(EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT(
142
- // __declspec(dllimport)), "__declspec(dllimport)");
143
- //
144
- // static_assert(true, "__declspec(dllimport)");
145
- //
146
- // When they're not working correctly, a syntax error should occur instead.
147
- #define EXPORT_TEMPLATE_TEST(want, export) \
148
- static_assert(EXPORT_TEMPLATE_INVOKE( \
149
- TEST_##want, EXPORT_TEMPLATE_STYLE(export, ), export), \
150
- #export)
151
- #define EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT(...) true
152
- #define EXPORT_TEMPLATE_TEST_MSVC_HACK_MSVC_HACK(...) true
153
-
154
- EXPORT_TEMPLATE_TEST(DEFAULT, );
155
- EXPORT_TEMPLATE_TEST(DEFAULT, __attribute__((visibility("default"))));
156
- EXPORT_TEMPLATE_TEST(MSVC_HACK, __declspec(dllexport));
157
- EXPORT_TEMPLATE_TEST(DEFAULT, __declspec(dllimport));
158
-
159
- #undef EXPORT_TEMPLATE_TEST
160
- #undef EXPORT_TEMPLATE_TEST_DEFAULT_DEFAULT
161
- #undef EXPORT_TEMPLATE_TEST_MSVC_HACK_MSVC_HACK
162
-
163
- #endif // V8_BASE_EXPORT_TEMPLATE_H_
@@ -1,130 +0,0 @@
1
- // Copyright 2014 the V8 project authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- #ifndef V8_BASE_FLAGS_H_
6
- #define V8_BASE_FLAGS_H_
7
-
8
- #include <cstddef>
9
-
10
- #include "src/base/compiler-specific.h"
11
-
12
- namespace v8 {
13
- namespace base {
14
-
15
- // The Flags class provides a type-safe way of storing OR-combinations of enum
16
- // values. The Flags<T, S> class is a template class, where T is an enum type,
17
- // and S is the underlying storage type (usually int).
18
- //
19
- // The traditional C++ approach for storing OR-combinations of enum values is to
20
- // use an int or unsigned int variable. The inconvenience with this approach is
21
- // that there's no type checking at all; any enum value can be OR'd with any
22
- // other enum value and passed on to a function that takes an int or unsigned
23
- // int.
24
- template <typename T, typename S = int>
25
- class Flags final {
26
- public:
27
- using flag_type = T;
28
- using mask_type = S;
29
-
30
- constexpr Flags() : mask_(0) {}
31
- constexpr Flags(flag_type flag) // NOLINT(runtime/explicit)
32
- : mask_(static_cast<S>(flag)) {}
33
- constexpr explicit Flags(mask_type mask) : mask_(static_cast<S>(mask)) {}
34
-
35
- constexpr bool operator==(flag_type flag) const {
36
- return mask_ == static_cast<S>(flag);
37
- }
38
- constexpr bool operator!=(flag_type flag) const {
39
- return mask_ != static_cast<S>(flag);
40
- }
41
-
42
- Flags& operator&=(const Flags& flags) {
43
- mask_ &= flags.mask_;
44
- return *this;
45
- }
46
- Flags& operator|=(const Flags& flags) {
47
- mask_ |= flags.mask_;
48
- return *this;
49
- }
50
- Flags& operator^=(const Flags& flags) {
51
- mask_ ^= flags.mask_;
52
- return *this;
53
- }
54
-
55
- constexpr Flags operator&(const Flags& flags) const {
56
- return Flags(mask_ & flags.mask_);
57
- }
58
- constexpr Flags operator|(const Flags& flags) const {
59
- return Flags(mask_ | flags.mask_);
60
- }
61
- constexpr Flags operator^(const Flags& flags) const {
62
- return Flags(mask_ ^ flags.mask_);
63
- }
64
-
65
- Flags& operator&=(flag_type flag) { return operator&=(Flags(flag)); }
66
- Flags& operator|=(flag_type flag) { return operator|=(Flags(flag)); }
67
- Flags& operator^=(flag_type flag) { return operator^=(Flags(flag)); }
68
-
69
- constexpr Flags operator&(flag_type flag) const {
70
- return operator&(Flags(flag));
71
- }
72
- constexpr Flags operator|(flag_type flag) const {
73
- return operator|(Flags(flag));
74
- }
75
- constexpr Flags operator^(flag_type flag) const {
76
- return operator^(Flags(flag));
77
- }
78
-
79
- constexpr Flags operator~() const { return Flags(~mask_); }
80
-
81
- constexpr operator mask_type() const { return mask_; }
82
- constexpr bool operator!() const { return !mask_; }
83
-
84
- Flags without(flag_type flag) { return *this & (~Flags(flag)); }
85
-
86
- friend size_t hash_value(const Flags& flags) { return flags.mask_; }
87
-
88
- private:
89
- mask_type mask_;
90
- };
91
-
92
- #define DEFINE_OPERATORS_FOR_FLAGS(Type) \
93
- ALLOW_UNUSED_TYPE V8_WARN_UNUSED_RESULT inline constexpr Type operator&( \
94
- Type::flag_type lhs, Type::flag_type rhs) { \
95
- return Type(lhs) & rhs; \
96
- } \
97
- ALLOW_UNUSED_TYPE V8_WARN_UNUSED_RESULT inline constexpr Type operator&( \
98
- Type::flag_type lhs, const Type& rhs) { \
99
- return rhs & lhs; \
100
- } \
101
- ALLOW_UNUSED_TYPE inline void operator&(Type::flag_type lhs, \
102
- Type::mask_type rhs) {} \
103
- ALLOW_UNUSED_TYPE V8_WARN_UNUSED_RESULT inline constexpr Type operator|( \
104
- Type::flag_type lhs, Type::flag_type rhs) { \
105
- return Type(lhs) | rhs; \
106
- } \
107
- ALLOW_UNUSED_TYPE V8_WARN_UNUSED_RESULT inline constexpr Type operator|( \
108
- Type::flag_type lhs, const Type& rhs) { \
109
- return rhs | lhs; \
110
- } \
111
- ALLOW_UNUSED_TYPE inline void operator|(Type::flag_type lhs, \
112
- Type::mask_type rhs) {} \
113
- ALLOW_UNUSED_TYPE V8_WARN_UNUSED_RESULT inline constexpr Type operator^( \
114
- Type::flag_type lhs, Type::flag_type rhs) { \
115
- return Type(lhs) ^ rhs; \
116
- } \
117
- ALLOW_UNUSED_TYPE V8_WARN_UNUSED_RESULT inline constexpr Type operator^( \
118
- Type::flag_type lhs, const Type& rhs) { \
119
- return rhs ^ lhs; \
120
- } \
121
- ALLOW_UNUSED_TYPE inline void operator^(Type::flag_type lhs, \
122
- Type::mask_type rhs) {} \
123
- ALLOW_UNUSED_TYPE inline constexpr Type operator~(Type::flag_type val) { \
124
- return ~Type(val); \
125
- }
126
-
127
- } // namespace base
128
- } // namespace v8
129
-
130
- #endif // V8_BASE_FLAGS_H_
@@ -1,162 +0,0 @@
1
- // Copyright 2021 the V8 project authors. All rights reserved.
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
-
5
- #ifndef V8_BASE_IMMEDIATE_CRASH_H_
6
- #define V8_BASE_IMMEDIATE_CRASH_H_
7
-
8
- #include "include/v8config.h"
9
- #include "src/base/build_config.h"
10
-
11
- // Crashes in the fastest possible way with no attempt at logging.
12
- // There are several constraints; see http://crbug.com/664209 for more context.
13
- //
14
- // - TRAP_SEQUENCE_() must be fatal. It should not be possible to ignore the
15
- // resulting exception or simply hit 'continue' to skip over it in a debugger.
16
- // - Different instances of TRAP_SEQUENCE_() must not be folded together, to
17
- // ensure crash reports are debuggable. Unlike __builtin_trap(), asm volatile
18
- // blocks will not be folded together.
19
- // Note: TRAP_SEQUENCE_() previously required an instruction with a unique
20
- // nonce since unlike clang, GCC folds together identical asm volatile
21
- // blocks.
22
- // - TRAP_SEQUENCE_() must produce a signal that is distinct from an invalid
23
- // memory access.
24
- // - TRAP_SEQUENCE_() must be treated as a set of noreturn instructions.
25
- // __builtin_unreachable() is used to provide that hint here. clang also uses
26
- // this as a heuristic to pack the instructions in the function epilogue to
27
- // improve code density.
28
- //
29
- // Additional properties that are nice to have:
30
- // - TRAP_SEQUENCE_() should be as compact as possible.
31
- // - The first instruction of TRAP_SEQUENCE_() should not change, to avoid
32
- // shifting crash reporting clusters. As a consequence of this, explicit
33
- // assembly is preferred over intrinsics.
34
- // Note: this last bullet point may no longer be true, and may be removed in
35
- // the future.
36
-
37
- // Note: TRAP_SEQUENCE Is currently split into two macro helpers due to the fact
38
- // that clang emits an actual instruction for __builtin_unreachable() on certain
39
- // platforms (see https://crbug.com/958675). In addition, the int3/bkpt/brk will
40
- // be removed in followups, so splitting it up like this now makes it easy to
41
- // land the followups.
42
-
43
- #if V8_CC_GNU
44
-
45
- #if V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_IA32
46
-
47
- // TODO(https://crbug.com/958675): In theory, it should be possible to use just
48
- // int3. However, there are a number of crashes with SIGILL as the exception
49
- // code, so it seems likely that there's a signal handler that allows execution
50
- // to continue after SIGTRAP.
51
- #define TRAP_SEQUENCE1_() asm volatile("int3")
52
-
53
- #if V8_OS_MACOSX
54
- // Intentionally empty: __builtin_unreachable() is always part of the sequence
55
- // (see IMMEDIATE_CRASH below) and already emits a ud2 on Mac.
56
- #define TRAP_SEQUENCE2_() asm volatile("")
57
- #else
58
- #define TRAP_SEQUENCE2_() asm volatile("ud2")
59
- #endif // V8_OS_MACOSX
60
-
61
- #elif V8_HOST_ARCH_ARM
62
-
63
- // bkpt will generate a SIGBUS when running on armv7 and a SIGTRAP when running
64
- // as a 32 bit userspace app on arm64. There doesn't seem to be any way to
65
- // cause a SIGTRAP from userspace without using a syscall (which would be a
66
- // problem for sandboxing).
67
- // TODO(https://crbug.com/958675): Remove bkpt from this sequence.
68
- #define TRAP_SEQUENCE1_() asm volatile("bkpt #0")
69
- #define TRAP_SEQUENCE2_() asm volatile("udf #0")
70
-
71
- #elif V8_HOST_ARCH_ARM64
72
-
73
- // This will always generate a SIGTRAP on arm64.
74
- // TODO(https://crbug.com/958675): Remove brk from this sequence.
75
- #define TRAP_SEQUENCE1_() asm volatile("brk #0")
76
- #define TRAP_SEQUENCE2_() asm volatile("hlt #0")
77
-
78
- #else
79
-
80
- // Crash report accuracy will not be guaranteed on other architectures, but at
81
- // least this will crash as expected.
82
- #define TRAP_SEQUENCE1_() __builtin_trap()
83
- #define TRAP_SEQUENCE2_() asm volatile("")
84
-
85
- #endif // V8_HOST_ARCH_*
86
-
87
- #elif V8_CC_MSVC
88
-
89
- #if !defined(__clang__)
90
-
91
- // MSVC x64 doesn't support inline asm, so use the MSVC intrinsic.
92
- #define TRAP_SEQUENCE1_() __debugbreak()
93
- #define TRAP_SEQUENCE2_()
94
-
95
- #elif V8_HOST_ARCH_ARM64
96
-
97
- // Windows ARM64 uses "BRK #F000" as its breakpoint instruction, and
98
- // __debugbreak() generates that in both VC++ and clang.
99
- #define TRAP_SEQUENCE1_() __debugbreak()
100
- // Intentionally empty: __builtin_unreachable() is always part of the sequence
101
- // (see IMMEDIATE_CRASH below) and already emits a ud2 on Win64,
102
- // https://crbug.com/958373
103
- #define TRAP_SEQUENCE2_() __asm volatile("")
104
-
105
- #else
106
-
107
- #define TRAP_SEQUENCE1_() asm volatile("int3")
108
- #define TRAP_SEQUENCE2_() asm volatile("ud2")
109
-
110
- #endif // __clang__
111
-
112
- #else
113
-
114
- #error No supported trap sequence!
115
-
116
- #endif // V8_CC_GNU
117
-
118
- #define TRAP_SEQUENCE_() \
119
- do { \
120
- TRAP_SEQUENCE1_(); \
121
- TRAP_SEQUENCE2_(); \
122
- } while (false)
123
-
124
- // CHECK() and the trap sequence can be invoked from a constexpr function.
125
- // This could make compilation fail on GCC, as it forbids directly using inline
126
- // asm inside a constexpr function. However, it allows calling a lambda
127
- // expression including the same asm.
128
- // The side effect is that the top of the stacktrace will not point to the
129
- // calling function, but to this anonymous lambda. This is still useful as the
130
- // full name of the lambda will typically include the name of the function that
131
- // calls CHECK() and the debugger will still break at the right line of code.
132
- #if !V8_CC_GNU
133
-
134
- #define WRAPPED_TRAP_SEQUENCE_() TRAP_SEQUENCE_()
135
-
136
- #else
137
-
138
- #define WRAPPED_TRAP_SEQUENCE_() \
139
- do { \
140
- [] { TRAP_SEQUENCE_(); }(); \
141
- } while (false)
142
-
143
- #endif // !V8_CC_GCC
144
-
145
- #if defined(__clang__) || V8_CC_GCC
146
-
147
- // __builtin_unreachable() hints to the compiler that this is noreturn and can
148
- // be packed in the function epilogue.
149
- #define IMMEDIATE_CRASH() \
150
- ({ \
151
- WRAPPED_TRAP_SEQUENCE_(); \
152
- __builtin_unreachable(); \
153
- })
154
-
155
- #else
156
-
157
- // This is supporting build with MSVC where there is no __builtin_unreachable().
158
- #define IMMEDIATE_CRASH() WRAPPED_TRAP_SEQUENCE_()
159
-
160
- #endif // defined(__clang__) || defined(COMPILER_GCC)
161
-
162
- #endif // V8_BASE_IMMEDIATE_CRASH_H_