@triniwiz/nativescript-masonkit 1.0.0-alpha.4 → 1.0.0-alpha.6
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.
- package/common.d.ts +7 -9
- package/common.js +277 -552
- package/common.js.map +1 -1
- package/helpers.d.ts +32 -10
- package/helpers.js +772 -286
- package/helpers.js.map +1 -1
- package/index.android.d.ts +6 -2
- package/index.android.js +21 -3
- package/index.android.js.map +1 -1
- package/index.d.ts +64 -7
- package/index.ios.d.ts +9 -6
- package/index.ios.js +39 -25
- package/index.ios.js.map +1 -1
- package/package.json +1 -1
- package/platforms/android/include.gradle +18 -1
- package/platforms/android/masonkit-release.aar +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +108 -64
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +47 -20
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Info.plist +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +6692 -794
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +58 -21
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +58 -21
- package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +216 -128
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +47 -20
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Info.plist +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +6692 -794
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +58 -21
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +58 -21
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +6692 -794
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +58 -21
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +58 -21
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +43 -43
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
- package/platforms/ios/build.xcconfig +1 -2
- package/platforms/ios/src/MasonV8Module.h +583 -0
- package/platforms/ios/src/MasonV8Module.mm +1005 -0
- package/platforms/ios/src/{include → cpp/include}/mason_native.h +47 -20
- package/platforms/ios/src/cpp/include/robin_hood.h +2544 -0
- package/platforms/ios/src/module.modulemap +2 -2
- package/platforms/new_native_src/cpp/Caches.cpp +36 -0
- package/platforms/new_native_src/cpp/Caches.h +42 -0
- package/platforms/new_native_src/cpp/Common.h +34 -0
- package/platforms/new_native_src/cpp/ConcurrentMap.h +57 -0
- package/platforms/new_native_src/cpp/Helpers.cpp +101 -0
- package/platforms/new_native_src/cpp/Helpers.h +364 -0
- package/platforms/new_native_src/cpp/MasonImpl.cpp +68 -0
- package/platforms/new_native_src/cpp/MasonImpl.h +40 -0
- package/platforms/new_native_src/cpp/MasonNodeImpl.cpp +89 -0
- package/platforms/new_native_src/cpp/MasonNodeImpl.h +47 -0
- package/platforms/new_native_src/cpp/MasonStyleImpl.cpp +2181 -0
- package/platforms/new_native_src/cpp/MasonStyleImpl.h +420 -0
- package/platforms/{ios/Mason.xcframework/ios-arm64/Mason.framework/PrivateHeaders → new_native_src/cpp/include}/mason_native.h +464 -168
- package/platforms/new_native_src/cpp/include/robin_hood.h +2544 -0
- package/pods/Headers/include/APIDesign.md +72 -0
- package/pods/Headers/include/DEPS +10 -0
- package/pods/Headers/include/DIR_METADATA +11 -0
- package/pods/Headers/include/OWNERS +23 -0
- package/pods/Headers/include/cppgc/DEPS +8 -0
- package/pods/Headers/include/cppgc/OWNERS +2 -0
- package/pods/Headers/include/cppgc/README.md +133 -0
- package/pods/Headers/include/cppgc/allocation.h +310 -0
- package/pods/Headers/include/cppgc/common.h +29 -0
- package/pods/Headers/include/cppgc/cross-thread-persistent.h +465 -0
- package/pods/Headers/include/cppgc/custom-space.h +97 -0
- package/pods/Headers/include/cppgc/default-platform.h +67 -0
- package/pods/Headers/include/cppgc/ephemeron-pair.h +30 -0
- package/pods/Headers/include/cppgc/explicit-management.h +100 -0
- package/pods/Headers/include/cppgc/garbage-collected.h +106 -0
- package/pods/Headers/include/cppgc/heap-consistency.h +266 -0
- package/pods/Headers/include/cppgc/heap-state.h +82 -0
- package/pods/Headers/include/cppgc/heap-statistics.h +120 -0
- package/pods/Headers/include/cppgc/heap.h +206 -0
- package/pods/Headers/include/cppgc/internal/api-constants.h +55 -0
- package/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +48 -0
- package/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +79 -0
- package/pods/Headers/include/cppgc/internal/compiler-specific.h +38 -0
- package/pods/Headers/include/cppgc/internal/finalizer-trait.h +93 -0
- package/pods/Headers/include/cppgc/internal/gc-info.h +156 -0
- package/pods/Headers/include/cppgc/internal/logging.h +50 -0
- package/pods/Headers/include/cppgc/internal/name-trait.h +122 -0
- package/pods/Headers/include/cppgc/internal/persistent-node.h +216 -0
- package/pods/Headers/include/cppgc/internal/pointer-policies.h +186 -0
- package/pods/Headers/include/cppgc/internal/write-barrier.h +435 -0
- package/pods/Headers/include/cppgc/liveness-broker.h +77 -0
- package/pods/Headers/include/cppgc/macros.h +26 -0
- package/pods/Headers/include/cppgc/member.h +291 -0
- package/pods/Headers/include/cppgc/name-provider.h +65 -0
- package/pods/Headers/include/cppgc/object-size-trait.h +58 -0
- package/pods/Headers/include/cppgc/persistent.h +370 -0
- package/pods/Headers/include/cppgc/platform.h +156 -0
- package/pods/Headers/include/cppgc/prefinalizer.h +75 -0
- package/pods/Headers/include/cppgc/process-heap-statistics.h +36 -0
- package/pods/Headers/include/cppgc/sentinel-pointer.h +32 -0
- package/pods/Headers/include/cppgc/source-location.h +92 -0
- package/pods/Headers/include/cppgc/testing.h +106 -0
- package/pods/Headers/include/cppgc/trace-trait.h +116 -0
- package/pods/Headers/include/cppgc/type-traits.h +240 -0
- package/pods/Headers/include/cppgc/visitor.h +379 -0
- package/pods/Headers/include/js_protocol-1.2.json +936 -0
- package/pods/Headers/include/js_protocol-1.3.json +1112 -0
- package/pods/Headers/include/js_protocol.pdl +1709 -0
- package/pods/Headers/include/libffi/arm64/ffi.h +524 -0
- package/pods/Headers/include/libffi/arm64/ffitarget.h +92 -0
- package/pods/Headers/include/libffi/x86_64/ffi.h +524 -0
- package/pods/Headers/include/libffi/x86_64/ffitarget.h +147 -0
- package/pods/Headers/include/libffi.h +12 -0
- package/pods/Headers/include/libplatform/DEPS +9 -0
- package/pods/Headers/include/libplatform/libplatform-export.h +29 -0
- package/pods/Headers/include/libplatform/libplatform.h +106 -0
- package/pods/Headers/include/libplatform/v8-tracing.h +333 -0
- package/pods/Headers/include/v8-array-buffer.h +433 -0
- package/pods/Headers/include/v8-callbacks.h +397 -0
- package/pods/Headers/include/v8-container.h +129 -0
- package/pods/Headers/include/v8-context.h +407 -0
- package/pods/Headers/include/v8-cppgc.h +215 -0
- package/pods/Headers/include/v8-data.h +80 -0
- package/pods/Headers/include/v8-date.h +43 -0
- package/pods/Headers/include/v8-debug.h +168 -0
- package/pods/Headers/include/v8-embedder-heap.h +218 -0
- package/pods/Headers/include/v8-embedder-state-scope.h +51 -0
- package/pods/Headers/include/v8-exception.h +217 -0
- package/pods/Headers/include/v8-extension.h +62 -0
- package/pods/Headers/include/v8-external.h +37 -0
- package/pods/Headers/include/v8-fast-api-calls.h +939 -0
- package/pods/Headers/include/v8-forward.h +81 -0
- package/pods/Headers/include/v8-function-callback.h +475 -0
- package/pods/Headers/include/v8-function.h +125 -0
- package/pods/Headers/include/v8-initialization.h +315 -0
- package/pods/Headers/include/v8-inspector-protocol.h +13 -0
- package/pods/Headers/include/v8-inspector.h +376 -0
- package/pods/Headers/include/v8-internal.h +661 -0
- package/pods/Headers/include/v8-isolate.h +1709 -0
- package/pods/Headers/include/v8-json.h +47 -0
- package/pods/Headers/include/v8-local-handle.h +455 -0
- package/pods/Headers/include/v8-locker.h +149 -0
- package/pods/Headers/include/v8-maybe.h +137 -0
- package/pods/Headers/include/v8-memory-span.h +43 -0
- package/pods/Headers/include/v8-message.h +216 -0
- package/pods/Headers/include/v8-metrics.h +255 -0
- package/pods/Headers/include/v8-microtask-queue.h +152 -0
- package/pods/Headers/include/v8-microtask.h +28 -0
- package/pods/Headers/include/v8-object.h +775 -0
- package/pods/Headers/include/v8-persistent-handle.h +590 -0
- package/pods/Headers/include/v8-platform.h +1092 -0
- package/pods/Headers/include/v8-primitive-object.h +118 -0
- package/pods/Headers/include/v8-primitive.h +866 -0
- package/pods/Headers/include/v8-profiler.h +1198 -0
- package/pods/Headers/include/v8-promise.h +174 -0
- package/pods/Headers/include/v8-proxy.h +50 -0
- package/pods/Headers/include/v8-regexp.h +105 -0
- package/pods/Headers/include/v8-script.h +748 -0
- package/pods/Headers/include/v8-snapshot.h +196 -0
- package/pods/Headers/include/v8-statistics.h +217 -0
- package/pods/Headers/include/v8-template.h +1079 -0
- package/pods/Headers/include/v8-traced-handle.h +420 -0
- package/pods/Headers/include/v8-typed-array.h +282 -0
- package/pods/Headers/include/v8-unwinder-state.h +31 -0
- package/pods/Headers/include/v8-unwinder.h +132 -0
- package/pods/Headers/include/v8-util.h +658 -0
- package/pods/Headers/include/v8-value-serializer-version.h +24 -0
- package/pods/Headers/include/v8-value-serializer.h +279 -0
- package/pods/Headers/include/v8-value.h +526 -0
- package/pods/Headers/include/v8-version-string.h +38 -0
- package/pods/Headers/include/v8-version.h +20 -0
- package/pods/Headers/include/v8-wasm-trap-handler-posix.h +31 -0
- package/pods/Headers/include/v8-wasm-trap-handler-win.h +28 -0
- package/pods/Headers/include/v8-wasm.h +257 -0
- package/pods/Headers/include/v8-weak-callback-info.h +86 -0
- package/pods/Headers/include/v8.h +88 -0
- package/pods/Headers/include/v8config.h +605 -0
- package/pods/Headers/inspector/InspectorServer.h +20 -0
- package/pods/Headers/inspector/JsV8InspectorClient.h +66 -0
- package/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +1123 -0
- package/pods/Headers/inspector/base64.h +9 -0
- package/pods/Headers/inspector/src/base/address-region.h +95 -0
- package/pods/Headers/inspector/src/base/atomic-utils.h +219 -0
- package/pods/Headers/inspector/src/base/atomicops.h +332 -0
- package/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +89 -0
- package/pods/Headers/inspector/src/base/base-export.h +31 -0
- package/pods/Headers/inspector/src/base/bits.h +343 -0
- package/pods/Headers/inspector/src/base/build_config.h +234 -0
- package/pods/Headers/inspector/src/base/compiler-specific.h +136 -0
- package/pods/Headers/inspector/src/base/export-template.h +163 -0
- package/pods/Headers/inspector/src/base/flags.h +130 -0
- package/pods/Headers/inspector/src/base/immediate-crash.h +162 -0
- package/pods/Headers/inspector/src/base/lazy-instance.h +258 -0
- package/pods/Headers/inspector/src/base/logging.h +417 -0
- package/pods/Headers/inspector/src/base/macros.h +423 -0
- package/pods/Headers/inspector/src/base/memory.h +89 -0
- package/pods/Headers/inspector/src/base/once.h +108 -0
- package/pods/Headers/inspector/src/base/optional.h +882 -0
- package/pods/Headers/inspector/src/base/platform/mutex.h +370 -0
- package/pods/Headers/inspector/src/base/platform/platform.h +476 -0
- package/pods/Headers/inspector/src/base/platform/semaphore.h +108 -0
- package/pods/Headers/inspector/src/base/platform/v8-time.h +513 -0
- package/pods/Headers/inspector/src/base/platform/wrappers.h +73 -0
- package/pods/Headers/inspector/src/base/safe_conversions.h +389 -0
- package/pods/Headers/inspector/src/base/safe_conversions_impl.h +822 -0
- package/pods/Headers/inspector/src/base/template-utils.h +113 -0
- package/pods/Headers/inspector/src/base/v8-fallthrough.h +21 -0
- package/pods/Headers/inspector/src/common/checks.h +38 -0
- package/pods/Headers/inspector/src/common/globals.h +1842 -0
- package/pods/Headers/inspector/src/debug/debug-interface.h +667 -0
- package/pods/Headers/inspector/src/debug/interface-types.h +175 -0
- package/pods/Headers/inspector/src/init/v8.h +52 -0
- package/pods/Headers/inspector/src/inspector/custom-preview.h +24 -0
- package/pods/Headers/inspector/src/inspector/injected-script.h +251 -0
- package/pods/Headers/inspector/src/inspector/inspected-context.h +79 -0
- package/pods/Headers/inspector/src/inspector/protocol/CSS.h +2148 -0
- package/pods/Headers/inspector/src/inspector/protocol/Console.h +211 -0
- package/pods/Headers/inspector/src/inspector/protocol/DOM.h +1008 -0
- package/pods/Headers/inspector/src/inspector/protocol/Debugger.h +892 -0
- package/pods/Headers/inspector/src/inspector/protocol/Forward.h +75 -0
- package/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +346 -0
- package/pods/Headers/inspector/src/inspector/protocol/Log.h +342 -0
- package/pods/Headers/inspector/src/inspector/protocol/Network.h +2528 -0
- package/pods/Headers/inspector/src/inspector/protocol/Overlay.h +281 -0
- package/pods/Headers/inspector/src/inspector/protocol/Page.h +1189 -0
- package/pods/Headers/inspector/src/inspector/protocol/Profiler.h +1001 -0
- package/pods/Headers/inspector/src/inspector/protocol/Protocol.h +617 -0
- package/pods/Headers/inspector/src/inspector/protocol/Runtime.h +1696 -0
- package/pods/Headers/inspector/src/inspector/protocol/Schema.h +146 -0
- package/pods/Headers/inspector/src/inspector/protocol/Security.h +793 -0
- package/pods/Headers/inspector/src/inspector/remote-object-id.h +54 -0
- package/pods/Headers/inspector/src/inspector/search-util.h +26 -0
- package/pods/Headers/inspector/src/inspector/string-16.h +180 -0
- package/pods/Headers/inspector/src/inspector/string-util.h +128 -0
- package/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +48 -0
- package/pods/Headers/inspector/src/inspector/v8-console-message.h +147 -0
- package/pods/Headers/inspector/src/inspector/v8-console.h +173 -0
- package/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +62 -0
- package/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +248 -0
- package/pods/Headers/inspector/src/inspector/v8-debugger-id.h +44 -0
- package/pods/Headers/inspector/src/inspector/v8-debugger-script.h +123 -0
- package/pods/Headers/inspector/src/inspector/v8-debugger.h +257 -0
- package/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +91 -0
- package/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +80 -0
- package/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +191 -0
- package/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +156 -0
- package/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +34 -0
- package/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +71 -0
- package/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +24 -0
- package/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +70 -0
- package/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +88 -0
- package/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +104 -0
- package/pods/Headers/inspector/src/inspector/v8-regex.h +38 -0
- package/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +157 -0
- package/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +38 -0
- package/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +164 -0
- package/pods/Headers/inspector/src/inspector/v8-string-conversions.h +17 -0
- package/pods/Headers/inspector/src/inspector/v8-value-utils.h +23 -0
- package/pods/Headers/inspector/src/inspector/value-mirror.h +87 -0
- package/pods/Headers/inspector/src/libplatform/default-platform.h +92 -0
- package/pods/Headers/inspector/src/logging/tracing-flags.h +50 -0
- package/pods/Headers/inspector/src/numbers/conversions.h +183 -0
- package/pods/Headers/inspector/src/tracing/trace-event.h +664 -0
- package/pods/Headers/inspector/src/utils/allocation.h +367 -0
- package/pods/Headers/inspector/src/utils/vector.h +324 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +305 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +314 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +62 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +6 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +58 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +47 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +80 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +52 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +26 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +104 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +39 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +406 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +32 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +158 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +99 -0
- package/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +139 -0
- package/pods/Headers/inspector/utils.h +32 -0
- package/pods/Headers/inspector/v8-inspector-platform.h +44 -0
- package/pods/Headers/jsi/decorator.h +762 -0
- package/pods/Headers/jsi/instrumentation.h +117 -0
- package/pods/Headers/jsi/jsi-inl.h +322 -0
- package/pods/Headers/jsi/jsi.h +1387 -0
- package/pods/Headers/jsi/jsilib.h +59 -0
- package/pods/Headers/jsi/threadsafe.h +79 -0
- package/pods/Headers/runtime/ArgConverter.h +61 -0
- package/pods/Headers/runtime/ArrayAdapter.h +13 -0
- package/pods/Headers/runtime/Caches.h +98 -0
- package/pods/Headers/runtime/ClassBuilder.h +61 -0
- package/pods/Headers/runtime/Common.h +9 -0
- package/pods/Headers/runtime/ConcurrentMap.h +55 -0
- package/pods/Headers/runtime/ConcurrentQueue.h +28 -0
- package/pods/Headers/runtime/Console.h +27 -0
- package/pods/Headers/runtime/Constants.h +15 -0
- package/pods/Headers/runtime/DataWrapper.h +671 -0
- package/pods/Headers/runtime/DictionaryAdapter.h +13 -0
- package/pods/Headers/runtime/ExtVector.h +21 -0
- package/pods/Headers/runtime/FFICall.h +105 -0
- package/pods/Headers/runtime/FastEnumerationAdapter.h +13 -0
- package/pods/Headers/runtime/FunctionReference.h +18 -0
- package/pods/Headers/runtime/Helpers.h +84 -0
- package/pods/Headers/runtime/InlineFunctions.h +16 -0
- package/pods/Headers/runtime/Interop.h +202 -0
- package/pods/Headers/runtime/KnownUnknownClassPair.h +35 -0
- package/pods/Headers/runtime/Metadata.h +981 -0
- package/pods/Headers/runtime/MetadataBuilder.h +72 -0
- package/pods/Headers/runtime/MetadataInlines.h +157 -0
- package/pods/Headers/runtime/ModuleInternal.h +59 -0
- package/pods/Headers/runtime/NSDataAdapter.h +13 -0
- package/pods/Headers/runtime/NativeScriptException.h +27 -0
- package/pods/Headers/runtime/ObjectManager.h +31 -0
- package/pods/Headers/runtime/OneByteStringResource.h +21 -0
- package/pods/Headers/runtime/Pointer.h +26 -0
- package/pods/Headers/runtime/PromiseProxy.h +15 -0
- package/pods/Headers/runtime/Reference.h +38 -0
- package/pods/Headers/runtime/Runtime.h +67 -0
- package/pods/Headers/runtime/RuntimeConfig.h +17 -0
- package/pods/Headers/runtime/SetTimeout.h +34 -0
- package/pods/Headers/runtime/SimpleAllocator.h +23 -0
- package/pods/Headers/runtime/StringHasher.h +315 -0
- package/pods/Headers/runtime/SymbolIterator.h +18 -0
- package/pods/Headers/runtime/SymbolLoader.h +27 -0
- package/pods/Headers/runtime/TNSDerivedClass.h +8 -0
- package/pods/Headers/runtime/TSHelpers.h +15 -0
- package/pods/Headers/runtime/Tasks.h +19 -0
- package/pods/Headers/runtime/UnmanagedType.h +21 -0
- package/pods/Headers/runtime/WeakRef.h +15 -0
- package/pods/Headers/runtime/Worker.h +26 -0
- package/pods/Headers/runtime/robin_hood.h +2184 -0
- package/pods/Headers/v8runtime/HostProxy.h +71 -0
- package/pods/Headers/v8runtime/JSIV8ValueConverter.h +70 -0
- package/pods/Headers/v8runtime/V8PointerValue.h +44 -0
- package/pods/Headers/v8runtime/V8Runtime.h +215 -0
- package/pods/Headers/v8runtime/V8RuntimeConfig.h +26 -0
- package/pods/Headers/v8runtime/V8RuntimeFactory.h +21 -0
- package/pods/NativeScript.podspec +68 -0
- package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/PrivateHeaders/mason_native.h +0 -676
- package/platforms/ios/src/JSIModule.h +0 -217
- package/platforms/ios/src/JSIModule.mm +0 -2788
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
// Copyright 2013 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_PLATFORM_MUTEX_H_
|
|
6
|
+
#define V8_BASE_PLATFORM_MUTEX_H_
|
|
7
|
+
|
|
8
|
+
#include "src/base/base-export.h"
|
|
9
|
+
#include "src/base/lazy-instance.h"
|
|
10
|
+
#include "src/base/optional.h"
|
|
11
|
+
#if V8_OS_WIN
|
|
12
|
+
#include "src/base/win32-headers.h"
|
|
13
|
+
#endif
|
|
14
|
+
#include "src/base/logging.h"
|
|
15
|
+
|
|
16
|
+
#if V8_OS_POSIX
|
|
17
|
+
#include <pthread.h>
|
|
18
|
+
#endif
|
|
19
|
+
|
|
20
|
+
#if V8_OS_STARBOARD
|
|
21
|
+
#include "starboard/common/mutex.h"
|
|
22
|
+
#include "starboard/common/recursive_mutex.h"
|
|
23
|
+
#include "starboard/common/rwlock.h"
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
namespace v8 {
|
|
27
|
+
namespace base {
|
|
28
|
+
|
|
29
|
+
// ----------------------------------------------------------------------------
|
|
30
|
+
// Mutex - a replacement for std::mutex
|
|
31
|
+
//
|
|
32
|
+
// This class is a synchronization primitive that can be used to protect shared
|
|
33
|
+
// data from being simultaneously accessed by multiple threads. A mutex offers
|
|
34
|
+
// exclusive, non-recursive ownership semantics:
|
|
35
|
+
// - A calling thread owns a mutex from the time that it successfully calls
|
|
36
|
+
// either |Lock()| or |TryLock()| until it calls |Unlock()|.
|
|
37
|
+
// - When a thread owns a mutex, all other threads will block (for calls to
|
|
38
|
+
// |Lock()|) or receive a |false| return value (for |TryLock()|) if they
|
|
39
|
+
// attempt to claim ownership of the mutex.
|
|
40
|
+
// A calling thread must not own the mutex prior to calling |Lock()| or
|
|
41
|
+
// |TryLock()|. The behavior of a program is undefined if a mutex is destroyed
|
|
42
|
+
// while still owned by some thread. The Mutex class is non-copyable.
|
|
43
|
+
|
|
44
|
+
class V8_BASE_EXPORT Mutex final {
|
|
45
|
+
public:
|
|
46
|
+
Mutex();
|
|
47
|
+
Mutex(const Mutex&) = delete;
|
|
48
|
+
Mutex& operator=(const Mutex&) = delete;
|
|
49
|
+
~Mutex();
|
|
50
|
+
|
|
51
|
+
// Locks the given mutex. If the mutex is currently unlocked, it becomes
|
|
52
|
+
// locked and owned by the calling thread, and immediately. If the mutex
|
|
53
|
+
// is already locked by another thread, suspends the calling thread until
|
|
54
|
+
// the mutex is unlocked.
|
|
55
|
+
void Lock();
|
|
56
|
+
|
|
57
|
+
// Unlocks the given mutex. The mutex is assumed to be locked and owned by
|
|
58
|
+
// the calling thread on entrance.
|
|
59
|
+
void Unlock();
|
|
60
|
+
|
|
61
|
+
// Tries to lock the given mutex. Returns whether the mutex was
|
|
62
|
+
// successfully locked.
|
|
63
|
+
bool TryLock() V8_WARN_UNUSED_RESULT;
|
|
64
|
+
|
|
65
|
+
// The implementation-defined native handle type.
|
|
66
|
+
#if V8_OS_POSIX
|
|
67
|
+
using NativeHandle = pthread_mutex_t;
|
|
68
|
+
#elif V8_OS_WIN
|
|
69
|
+
using NativeHandle = SRWLOCK;
|
|
70
|
+
#elif V8_OS_STARBOARD
|
|
71
|
+
using NativeHandle = SbMutex;
|
|
72
|
+
#endif
|
|
73
|
+
|
|
74
|
+
NativeHandle& native_handle() {
|
|
75
|
+
return native_handle_;
|
|
76
|
+
}
|
|
77
|
+
const NativeHandle& native_handle() const {
|
|
78
|
+
return native_handle_;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
V8_INLINE void AssertHeld() const { DCHECK_EQ(1, level_); }
|
|
82
|
+
V8_INLINE void AssertUnheld() const { DCHECK_EQ(0, level_); }
|
|
83
|
+
|
|
84
|
+
private:
|
|
85
|
+
NativeHandle native_handle_;
|
|
86
|
+
#ifdef DEBUG
|
|
87
|
+
int level_;
|
|
88
|
+
#endif
|
|
89
|
+
|
|
90
|
+
V8_INLINE void AssertHeldAndUnmark() {
|
|
91
|
+
#ifdef DEBUG
|
|
92
|
+
DCHECK_EQ(1, level_);
|
|
93
|
+
level_--;
|
|
94
|
+
#endif
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
V8_INLINE void AssertUnheldAndMark() {
|
|
98
|
+
#ifdef DEBUG
|
|
99
|
+
DCHECK_EQ(0, level_);
|
|
100
|
+
level_++;
|
|
101
|
+
#endif
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
friend class ConditionVariable;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// POD Mutex initialized lazily (i.e. the first time Pointer() is called).
|
|
108
|
+
// Usage:
|
|
109
|
+
// static LazyMutex my_mutex = LAZY_MUTEX_INITIALIZER;
|
|
110
|
+
//
|
|
111
|
+
// void my_function() {
|
|
112
|
+
// MutexGuard guard(my_mutex.Pointer());
|
|
113
|
+
// // Do something.
|
|
114
|
+
// }
|
|
115
|
+
//
|
|
116
|
+
using LazyMutex = LazyStaticInstance<Mutex, DefaultConstructTrait<Mutex>,
|
|
117
|
+
ThreadSafeInitOnceTrait>::type;
|
|
118
|
+
|
|
119
|
+
#define LAZY_MUTEX_INITIALIZER LAZY_STATIC_INSTANCE_INITIALIZER
|
|
120
|
+
|
|
121
|
+
// -----------------------------------------------------------------------------
|
|
122
|
+
// RecursiveMutex - a replacement for std::recursive_mutex
|
|
123
|
+
//
|
|
124
|
+
// This class is a synchronization primitive that can be used to protect shared
|
|
125
|
+
// data from being simultaneously accessed by multiple threads. A recursive
|
|
126
|
+
// mutex offers exclusive, recursive ownership semantics:
|
|
127
|
+
// - A calling thread owns a recursive mutex for a period of time that starts
|
|
128
|
+
// when it successfully calls either |Lock()| or |TryLock()|. During this
|
|
129
|
+
// period, the thread may make additional calls to |Lock()| or |TryLock()|.
|
|
130
|
+
// The period of ownership ends when the thread makes a matching number of
|
|
131
|
+
// calls to |Unlock()|.
|
|
132
|
+
// - When a thread owns a recursive mutex, all other threads will block (for
|
|
133
|
+
// calls to |Lock()|) or receive a |false| return value (for |TryLock()|) if
|
|
134
|
+
// they attempt to claim ownership of the recursive mutex.
|
|
135
|
+
// - The maximum number of times that a recursive mutex may be locked is
|
|
136
|
+
// unspecified, but after that number is reached, calls to |Lock()| will
|
|
137
|
+
// probably abort the process and calls to |TryLock()| return false.
|
|
138
|
+
// The behavior of a program is undefined if a recursive mutex is destroyed
|
|
139
|
+
// while still owned by some thread. The RecursiveMutex class is non-copyable.
|
|
140
|
+
|
|
141
|
+
class V8_BASE_EXPORT RecursiveMutex final {
|
|
142
|
+
public:
|
|
143
|
+
RecursiveMutex();
|
|
144
|
+
RecursiveMutex(const RecursiveMutex&) = delete;
|
|
145
|
+
RecursiveMutex& operator=(const RecursiveMutex&) = delete;
|
|
146
|
+
~RecursiveMutex();
|
|
147
|
+
|
|
148
|
+
// Locks the mutex. If another thread has already locked the mutex, a call to
|
|
149
|
+
// |Lock()| will block execution until the lock is acquired. A thread may call
|
|
150
|
+
// |Lock()| on a recursive mutex repeatedly. Ownership will only be released
|
|
151
|
+
// after the thread makes a matching number of calls to |Unlock()|.
|
|
152
|
+
// The behavior is undefined if the mutex is not unlocked before being
|
|
153
|
+
// destroyed, i.e. some thread still owns it.
|
|
154
|
+
void Lock();
|
|
155
|
+
|
|
156
|
+
// Unlocks the mutex if its level of ownership is 1 (there was exactly one
|
|
157
|
+
// more call to |Lock()| than there were calls to unlock() made by this
|
|
158
|
+
// thread), reduces the level of ownership by 1 otherwise. The mutex must be
|
|
159
|
+
// locked by the current thread of execution, otherwise, the behavior is
|
|
160
|
+
// undefined.
|
|
161
|
+
void Unlock();
|
|
162
|
+
|
|
163
|
+
// Tries to lock the given mutex. Returns whether the mutex was
|
|
164
|
+
// successfully locked.
|
|
165
|
+
bool TryLock() V8_WARN_UNUSED_RESULT;
|
|
166
|
+
|
|
167
|
+
V8_INLINE void AssertHeld() const { DCHECK_LT(0, level_); }
|
|
168
|
+
|
|
169
|
+
private:
|
|
170
|
+
// The implementation-defined native handle type.
|
|
171
|
+
#if V8_OS_POSIX
|
|
172
|
+
using NativeHandle = pthread_mutex_t;
|
|
173
|
+
#elif V8_OS_WIN
|
|
174
|
+
using NativeHandle = CRITICAL_SECTION;
|
|
175
|
+
#elif V8_OS_STARBOARD
|
|
176
|
+
using NativeHandle = starboard::RecursiveMutex;
|
|
177
|
+
#endif
|
|
178
|
+
|
|
179
|
+
NativeHandle native_handle_;
|
|
180
|
+
#ifdef DEBUG
|
|
181
|
+
int level_;
|
|
182
|
+
#endif
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
|
|
186
|
+
// POD RecursiveMutex initialized lazily (i.e. the first time Pointer() is
|
|
187
|
+
// called).
|
|
188
|
+
// Usage:
|
|
189
|
+
// static LazyRecursiveMutex my_mutex = LAZY_RECURSIVE_MUTEX_INITIALIZER;
|
|
190
|
+
//
|
|
191
|
+
// void my_function() {
|
|
192
|
+
// LockGuard<RecursiveMutex> guard(my_mutex.Pointer());
|
|
193
|
+
// // Do something.
|
|
194
|
+
// }
|
|
195
|
+
//
|
|
196
|
+
using LazyRecursiveMutex =
|
|
197
|
+
LazyStaticInstance<RecursiveMutex, DefaultConstructTrait<RecursiveMutex>,
|
|
198
|
+
ThreadSafeInitOnceTrait>::type;
|
|
199
|
+
|
|
200
|
+
#define LAZY_RECURSIVE_MUTEX_INITIALIZER LAZY_STATIC_INSTANCE_INITIALIZER
|
|
201
|
+
|
|
202
|
+
// ----------------------------------------------------------------------------
|
|
203
|
+
// SharedMutex - a replacement for std::shared_mutex
|
|
204
|
+
//
|
|
205
|
+
// This class is a synchronization primitive that can be used to protect shared
|
|
206
|
+
// data from being simultaneously accessed by multiple threads. In contrast to
|
|
207
|
+
// other mutex types which facilitate exclusive access, a shared_mutex has two
|
|
208
|
+
// levels of access:
|
|
209
|
+
// - shared: several threads can share ownership of the same mutex.
|
|
210
|
+
// - exclusive: only one thread can own the mutex.
|
|
211
|
+
// Shared mutexes are usually used in situations when multiple readers can
|
|
212
|
+
// access the same resource at the same time without causing data races, but
|
|
213
|
+
// only one writer can do so.
|
|
214
|
+
// The SharedMutex class is non-copyable.
|
|
215
|
+
|
|
216
|
+
class V8_BASE_EXPORT SharedMutex final {
|
|
217
|
+
public:
|
|
218
|
+
SharedMutex();
|
|
219
|
+
SharedMutex(const SharedMutex&) = delete;
|
|
220
|
+
SharedMutex& operator=(const SharedMutex&) = delete;
|
|
221
|
+
~SharedMutex();
|
|
222
|
+
|
|
223
|
+
// Acquires shared ownership of the {SharedMutex}. If another thread is
|
|
224
|
+
// holding the mutex in exclusive ownership, a call to {LockShared()} will
|
|
225
|
+
// block execution until shared ownership can be acquired.
|
|
226
|
+
// If {LockShared()} is called by a thread that already owns the mutex in any
|
|
227
|
+
// mode (exclusive or shared), the behavior is undefined and outright fails
|
|
228
|
+
// with dchecks on.
|
|
229
|
+
void LockShared();
|
|
230
|
+
|
|
231
|
+
// Locks the SharedMutex. If another thread has already locked the mutex, a
|
|
232
|
+
// call to {LockExclusive()} will block execution until the lock is acquired.
|
|
233
|
+
// If {LockExclusive()} is called by a thread that already owns the mutex in
|
|
234
|
+
// any mode (shared or exclusive), the behavior is undefined and outright
|
|
235
|
+
// fails with dchecks on.
|
|
236
|
+
void LockExclusive();
|
|
237
|
+
|
|
238
|
+
// Releases the {SharedMutex} from shared ownership by the calling thread.
|
|
239
|
+
// The mutex must be locked by the current thread of execution in shared mode,
|
|
240
|
+
// otherwise, the behavior is undefined and outright fails with dchecks on.
|
|
241
|
+
void UnlockShared();
|
|
242
|
+
|
|
243
|
+
// Unlocks the {SharedMutex}. It must be locked by the current thread of
|
|
244
|
+
// execution, otherwise, the behavior is undefined and outright fails with
|
|
245
|
+
// dchecks on.
|
|
246
|
+
void UnlockExclusive();
|
|
247
|
+
|
|
248
|
+
// Tries to lock the {SharedMutex} in shared mode. Returns immediately. On
|
|
249
|
+
// successful lock acquisition returns true, otherwise returns false.
|
|
250
|
+
// This function is allowed to fail spuriously and return false even if the
|
|
251
|
+
// mutex is not currenly exclusively locked by any other thread.
|
|
252
|
+
// If it is called by a thread that already owns the mutex in any mode
|
|
253
|
+
// (shared or exclusive), the behavior is undefined, and outright fails with
|
|
254
|
+
// dchecks on.
|
|
255
|
+
bool TryLockShared() V8_WARN_UNUSED_RESULT;
|
|
256
|
+
|
|
257
|
+
// Tries to lock the {SharedMutex}. Returns immediately. On successful lock
|
|
258
|
+
// acquisition returns true, otherwise returns false.
|
|
259
|
+
// This function is allowed to fail spuriously and return false even if the
|
|
260
|
+
// mutex is not currently locked by any other thread.
|
|
261
|
+
// If it is called by a thread that already owns the mutex in any mode
|
|
262
|
+
// (shared or exclusive), the behavior is undefined, and outright fails with
|
|
263
|
+
// dchecks on.
|
|
264
|
+
bool TryLockExclusive() V8_WARN_UNUSED_RESULT;
|
|
265
|
+
|
|
266
|
+
private:
|
|
267
|
+
// The implementation-defined native handle type.
|
|
268
|
+
#if V8_OS_POSIX
|
|
269
|
+
using NativeHandle = pthread_rwlock_t;
|
|
270
|
+
#elif V8_OS_WIN
|
|
271
|
+
using NativeHandle = SRWLOCK;
|
|
272
|
+
#elif V8_OS_STARBOARD
|
|
273
|
+
using NativeHandle = starboard::RWLock;
|
|
274
|
+
#endif
|
|
275
|
+
|
|
276
|
+
NativeHandle native_handle_;
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
// -----------------------------------------------------------------------------
|
|
280
|
+
// LockGuard
|
|
281
|
+
//
|
|
282
|
+
// This class is a mutex wrapper that provides a convenient RAII-style mechanism
|
|
283
|
+
// for owning a mutex for the duration of a scoped block.
|
|
284
|
+
// When a LockGuard object is created, it attempts to take ownership of the
|
|
285
|
+
// mutex it is given. When control leaves the scope in which the LockGuard
|
|
286
|
+
// object was created, the LockGuard is destructed and the mutex is released.
|
|
287
|
+
// The LockGuard class is non-copyable.
|
|
288
|
+
|
|
289
|
+
// Controls whether a LockGuard always requires a valid Mutex or will just
|
|
290
|
+
// ignore it if it's nullptr.
|
|
291
|
+
enum class NullBehavior { kRequireNotNull, kIgnoreIfNull };
|
|
292
|
+
|
|
293
|
+
template <typename Mutex, NullBehavior Behavior = NullBehavior::kRequireNotNull>
|
|
294
|
+
class V8_NODISCARD LockGuard final {
|
|
295
|
+
public:
|
|
296
|
+
explicit LockGuard(Mutex* mutex) : mutex_(mutex) {
|
|
297
|
+
if (has_mutex()) mutex_->Lock();
|
|
298
|
+
}
|
|
299
|
+
LockGuard(const LockGuard&) = delete;
|
|
300
|
+
LockGuard& operator=(const LockGuard&) = delete;
|
|
301
|
+
~LockGuard() {
|
|
302
|
+
if (has_mutex()) mutex_->Unlock();
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
private:
|
|
306
|
+
Mutex* const mutex_;
|
|
307
|
+
|
|
308
|
+
bool V8_INLINE has_mutex() const {
|
|
309
|
+
DCHECK_IMPLIES(Behavior == NullBehavior::kRequireNotNull,
|
|
310
|
+
mutex_ != nullptr);
|
|
311
|
+
return Behavior == NullBehavior::kRequireNotNull || mutex_ != nullptr;
|
|
312
|
+
}
|
|
313
|
+
};
|
|
314
|
+
|
|
315
|
+
using MutexGuard = LockGuard<Mutex>;
|
|
316
|
+
using RecursiveMutexGuard = LockGuard<RecursiveMutex>;
|
|
317
|
+
|
|
318
|
+
enum MutexSharedType : bool { kShared = true, kExclusive = false };
|
|
319
|
+
|
|
320
|
+
template <MutexSharedType kIsShared,
|
|
321
|
+
NullBehavior Behavior = NullBehavior::kRequireNotNull>
|
|
322
|
+
class V8_NODISCARD SharedMutexGuard final {
|
|
323
|
+
public:
|
|
324
|
+
explicit SharedMutexGuard(SharedMutex* mutex) : mutex_(mutex) {
|
|
325
|
+
if (!has_mutex()) return;
|
|
326
|
+
if (kIsShared) {
|
|
327
|
+
mutex_->LockShared();
|
|
328
|
+
} else {
|
|
329
|
+
mutex_->LockExclusive();
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
SharedMutexGuard(const SharedMutexGuard&) = delete;
|
|
333
|
+
SharedMutexGuard& operator=(const SharedMutexGuard&) = delete;
|
|
334
|
+
~SharedMutexGuard() {
|
|
335
|
+
if (!has_mutex()) return;
|
|
336
|
+
if (kIsShared) {
|
|
337
|
+
mutex_->UnlockShared();
|
|
338
|
+
} else {
|
|
339
|
+
mutex_->UnlockExclusive();
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
private:
|
|
344
|
+
SharedMutex* const mutex_;
|
|
345
|
+
|
|
346
|
+
bool V8_INLINE has_mutex() const {
|
|
347
|
+
DCHECK_IMPLIES(Behavior == NullBehavior::kRequireNotNull,
|
|
348
|
+
mutex_ != nullptr);
|
|
349
|
+
return Behavior == NullBehavior::kRequireNotNull || mutex_ != nullptr;
|
|
350
|
+
}
|
|
351
|
+
};
|
|
352
|
+
|
|
353
|
+
template <MutexSharedType kIsShared,
|
|
354
|
+
NullBehavior Behavior = NullBehavior::kRequireNotNull>
|
|
355
|
+
class V8_NODISCARD SharedMutexGuardIf final {
|
|
356
|
+
public:
|
|
357
|
+
SharedMutexGuardIf(SharedMutex* mutex, bool enable_mutex) {
|
|
358
|
+
if (enable_mutex) mutex_.emplace(mutex);
|
|
359
|
+
}
|
|
360
|
+
SharedMutexGuardIf(const SharedMutexGuardIf&) = delete;
|
|
361
|
+
SharedMutexGuardIf& operator=(const SharedMutexGuardIf&) = delete;
|
|
362
|
+
|
|
363
|
+
private:
|
|
364
|
+
base::Optional<SharedMutexGuard<kIsShared, Behavior>> mutex_;
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
} // namespace base
|
|
368
|
+
} // namespace v8
|
|
369
|
+
|
|
370
|
+
#endif // V8_BASE_PLATFORM_MUTEX_H_
|