@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.
- package/helpers.js +0 -3
- package/helpers.js.map +1 -1
- package/package.json +1 -1
- package/platforms/android/masonkit-release.aar +0 -0
- package/style.js +0 -1
- package/style.js.map +1 -1
- package/node.d.ts +0 -2
- package/node.js +0 -3
- package/node.js.map +0 -1
- package/platforms/ios/Podfile +0 -1
- package/platforms/ios/build.xcconfig +0 -5
- package/platforms/ios/prebuild.sh +0 -101
- package/platforms/new_native_src/cpp/Caches.cpp +0 -36
- package/platforms/new_native_src/cpp/Caches.h +0 -42
- package/platforms/new_native_src/cpp/Common.h +0 -34
- package/platforms/new_native_src/cpp/ConcurrentMap.h +0 -57
- package/platforms/new_native_src/cpp/Helpers.cpp +0 -101
- package/platforms/new_native_src/cpp/Helpers.h +0 -364
- package/platforms/new_native_src/cpp/MasonImpl.cpp +0 -68
- package/platforms/new_native_src/cpp/MasonImpl.h +0 -40
- package/platforms/new_native_src/cpp/MasonNodeImpl.cpp +0 -89
- package/platforms/new_native_src/cpp/MasonNodeImpl.h +0 -47
- package/platforms/new_native_src/cpp/MasonStyleImpl.cpp +0 -2181
- package/platforms/new_native_src/cpp/MasonStyleImpl.h +0 -420
- package/platforms/new_native_src/cpp/include/mason_native.h +0 -972
- package/platforms/new_native_src/cpp/include/robin_hood.h +0 -2544
- package/src-native/pods/Headers/include/APIDesign.md +0 -72
- package/src-native/pods/Headers/include/DEPS +0 -10
- package/src-native/pods/Headers/include/DIR_METADATA +0 -11
- package/src-native/pods/Headers/include/OWNERS +0 -23
- package/src-native/pods/Headers/include/cppgc/DEPS +0 -8
- package/src-native/pods/Headers/include/cppgc/OWNERS +0 -2
- package/src-native/pods/Headers/include/cppgc/README.md +0 -133
- package/src-native/pods/Headers/include/cppgc/allocation.h +0 -310
- package/src-native/pods/Headers/include/cppgc/common.h +0 -29
- package/src-native/pods/Headers/include/cppgc/cross-thread-persistent.h +0 -465
- package/src-native/pods/Headers/include/cppgc/custom-space.h +0 -97
- package/src-native/pods/Headers/include/cppgc/default-platform.h +0 -67
- package/src-native/pods/Headers/include/cppgc/ephemeron-pair.h +0 -30
- package/src-native/pods/Headers/include/cppgc/explicit-management.h +0 -100
- package/src-native/pods/Headers/include/cppgc/garbage-collected.h +0 -106
- package/src-native/pods/Headers/include/cppgc/heap-consistency.h +0 -266
- package/src-native/pods/Headers/include/cppgc/heap-state.h +0 -82
- package/src-native/pods/Headers/include/cppgc/heap-statistics.h +0 -120
- package/src-native/pods/Headers/include/cppgc/heap.h +0 -206
- package/src-native/pods/Headers/include/cppgc/internal/api-constants.h +0 -55
- package/src-native/pods/Headers/include/cppgc/internal/atomic-entry-flag.h +0 -48
- package/src-native/pods/Headers/include/cppgc/internal/caged-heap-local-data.h +0 -79
- package/src-native/pods/Headers/include/cppgc/internal/compiler-specific.h +0 -38
- package/src-native/pods/Headers/include/cppgc/internal/finalizer-trait.h +0 -93
- package/src-native/pods/Headers/include/cppgc/internal/gc-info.h +0 -156
- package/src-native/pods/Headers/include/cppgc/internal/logging.h +0 -50
- package/src-native/pods/Headers/include/cppgc/internal/name-trait.h +0 -122
- package/src-native/pods/Headers/include/cppgc/internal/persistent-node.h +0 -216
- package/src-native/pods/Headers/include/cppgc/internal/pointer-policies.h +0 -186
- package/src-native/pods/Headers/include/cppgc/internal/write-barrier.h +0 -435
- package/src-native/pods/Headers/include/cppgc/liveness-broker.h +0 -77
- package/src-native/pods/Headers/include/cppgc/macros.h +0 -26
- package/src-native/pods/Headers/include/cppgc/member.h +0 -291
- package/src-native/pods/Headers/include/cppgc/name-provider.h +0 -65
- package/src-native/pods/Headers/include/cppgc/object-size-trait.h +0 -58
- package/src-native/pods/Headers/include/cppgc/persistent.h +0 -370
- package/src-native/pods/Headers/include/cppgc/platform.h +0 -156
- package/src-native/pods/Headers/include/cppgc/prefinalizer.h +0 -75
- package/src-native/pods/Headers/include/cppgc/process-heap-statistics.h +0 -36
- package/src-native/pods/Headers/include/cppgc/sentinel-pointer.h +0 -32
- package/src-native/pods/Headers/include/cppgc/source-location.h +0 -92
- package/src-native/pods/Headers/include/cppgc/testing.h +0 -106
- package/src-native/pods/Headers/include/cppgc/trace-trait.h +0 -116
- package/src-native/pods/Headers/include/cppgc/type-traits.h +0 -240
- package/src-native/pods/Headers/include/cppgc/visitor.h +0 -379
- package/src-native/pods/Headers/include/js_protocol-1.2.json +0 -936
- package/src-native/pods/Headers/include/js_protocol-1.3.json +0 -1112
- package/src-native/pods/Headers/include/js_protocol.pdl +0 -1709
- package/src-native/pods/Headers/include/libffi/arm64/ffi.h +0 -524
- package/src-native/pods/Headers/include/libffi/arm64/ffitarget.h +0 -92
- package/src-native/pods/Headers/include/libffi/x86_64/ffi.h +0 -524
- package/src-native/pods/Headers/include/libffi/x86_64/ffitarget.h +0 -147
- package/src-native/pods/Headers/include/libffi.h +0 -12
- package/src-native/pods/Headers/include/libplatform/DEPS +0 -9
- package/src-native/pods/Headers/include/libplatform/libplatform-export.h +0 -29
- package/src-native/pods/Headers/include/libplatform/libplatform.h +0 -106
- package/src-native/pods/Headers/include/libplatform/v8-tracing.h +0 -333
- package/src-native/pods/Headers/include/v8-array-buffer.h +0 -433
- package/src-native/pods/Headers/include/v8-callbacks.h +0 -397
- package/src-native/pods/Headers/include/v8-container.h +0 -129
- package/src-native/pods/Headers/include/v8-context.h +0 -407
- package/src-native/pods/Headers/include/v8-cppgc.h +0 -215
- package/src-native/pods/Headers/include/v8-data.h +0 -80
- package/src-native/pods/Headers/include/v8-date.h +0 -43
- package/src-native/pods/Headers/include/v8-debug.h +0 -168
- package/src-native/pods/Headers/include/v8-embedder-heap.h +0 -218
- package/src-native/pods/Headers/include/v8-embedder-state-scope.h +0 -51
- package/src-native/pods/Headers/include/v8-exception.h +0 -217
- package/src-native/pods/Headers/include/v8-extension.h +0 -62
- package/src-native/pods/Headers/include/v8-external.h +0 -37
- package/src-native/pods/Headers/include/v8-fast-api-calls.h +0 -939
- package/src-native/pods/Headers/include/v8-forward.h +0 -81
- package/src-native/pods/Headers/include/v8-function-callback.h +0 -475
- package/src-native/pods/Headers/include/v8-function.h +0 -125
- package/src-native/pods/Headers/include/v8-initialization.h +0 -315
- package/src-native/pods/Headers/include/v8-inspector-protocol.h +0 -13
- package/src-native/pods/Headers/include/v8-inspector.h +0 -376
- package/src-native/pods/Headers/include/v8-internal.h +0 -661
- package/src-native/pods/Headers/include/v8-isolate.h +0 -1709
- package/src-native/pods/Headers/include/v8-json.h +0 -47
- package/src-native/pods/Headers/include/v8-local-handle.h +0 -455
- package/src-native/pods/Headers/include/v8-locker.h +0 -149
- package/src-native/pods/Headers/include/v8-maybe.h +0 -137
- package/src-native/pods/Headers/include/v8-memory-span.h +0 -43
- package/src-native/pods/Headers/include/v8-message.h +0 -216
- package/src-native/pods/Headers/include/v8-metrics.h +0 -255
- package/src-native/pods/Headers/include/v8-microtask-queue.h +0 -152
- package/src-native/pods/Headers/include/v8-microtask.h +0 -28
- package/src-native/pods/Headers/include/v8-object.h +0 -775
- package/src-native/pods/Headers/include/v8-persistent-handle.h +0 -590
- package/src-native/pods/Headers/include/v8-platform.h +0 -1092
- package/src-native/pods/Headers/include/v8-primitive-object.h +0 -118
- package/src-native/pods/Headers/include/v8-primitive.h +0 -866
- package/src-native/pods/Headers/include/v8-profiler.h +0 -1198
- package/src-native/pods/Headers/include/v8-promise.h +0 -174
- package/src-native/pods/Headers/include/v8-proxy.h +0 -50
- package/src-native/pods/Headers/include/v8-regexp.h +0 -105
- package/src-native/pods/Headers/include/v8-script.h +0 -748
- package/src-native/pods/Headers/include/v8-snapshot.h +0 -196
- package/src-native/pods/Headers/include/v8-statistics.h +0 -217
- package/src-native/pods/Headers/include/v8-template.h +0 -1079
- package/src-native/pods/Headers/include/v8-traced-handle.h +0 -420
- package/src-native/pods/Headers/include/v8-typed-array.h +0 -282
- package/src-native/pods/Headers/include/v8-unwinder-state.h +0 -31
- package/src-native/pods/Headers/include/v8-unwinder.h +0 -132
- package/src-native/pods/Headers/include/v8-util.h +0 -658
- package/src-native/pods/Headers/include/v8-value-serializer-version.h +0 -24
- package/src-native/pods/Headers/include/v8-value-serializer.h +0 -279
- package/src-native/pods/Headers/include/v8-value.h +0 -526
- package/src-native/pods/Headers/include/v8-version-string.h +0 -38
- package/src-native/pods/Headers/include/v8-version.h +0 -20
- package/src-native/pods/Headers/include/v8-wasm-trap-handler-posix.h +0 -31
- package/src-native/pods/Headers/include/v8-wasm-trap-handler-win.h +0 -28
- package/src-native/pods/Headers/include/v8-wasm.h +0 -257
- package/src-native/pods/Headers/include/v8-weak-callback-info.h +0 -86
- package/src-native/pods/Headers/include/v8.h +0 -88
- package/src-native/pods/Headers/include/v8config.h +0 -605
- package/src-native/pods/Headers/inspector/InspectorServer.h +0 -20
- package/src-native/pods/Headers/inspector/JsV8InspectorClient.h +0 -66
- package/src-native/pods/Headers/inspector/base/trace_event/common/trace_event_common.h +0 -1123
- package/src-native/pods/Headers/inspector/base64.h +0 -9
- package/src-native/pods/Headers/inspector/src/base/address-region.h +0 -95
- package/src-native/pods/Headers/inspector/src/base/atomic-utils.h +0 -219
- package/src-native/pods/Headers/inspector/src/base/atomicops.h +0 -332
- package/src-native/pods/Headers/inspector/src/base/atomicops_internals_atomicword_compat.h +0 -89
- package/src-native/pods/Headers/inspector/src/base/base-export.h +0 -31
- package/src-native/pods/Headers/inspector/src/base/bits.h +0 -343
- package/src-native/pods/Headers/inspector/src/base/build_config.h +0 -234
- package/src-native/pods/Headers/inspector/src/base/compiler-specific.h +0 -136
- package/src-native/pods/Headers/inspector/src/base/export-template.h +0 -163
- package/src-native/pods/Headers/inspector/src/base/flags.h +0 -130
- package/src-native/pods/Headers/inspector/src/base/immediate-crash.h +0 -162
- package/src-native/pods/Headers/inspector/src/base/lazy-instance.h +0 -258
- package/src-native/pods/Headers/inspector/src/base/logging.h +0 -417
- package/src-native/pods/Headers/inspector/src/base/macros.h +0 -423
- package/src-native/pods/Headers/inspector/src/base/memory.h +0 -89
- package/src-native/pods/Headers/inspector/src/base/once.h +0 -108
- package/src-native/pods/Headers/inspector/src/base/optional.h +0 -882
- package/src-native/pods/Headers/inspector/src/base/platform/mutex.h +0 -370
- package/src-native/pods/Headers/inspector/src/base/platform/platform.h +0 -476
- package/src-native/pods/Headers/inspector/src/base/platform/semaphore.h +0 -108
- package/src-native/pods/Headers/inspector/src/base/platform/v8-time.h +0 -513
- package/src-native/pods/Headers/inspector/src/base/platform/wrappers.h +0 -73
- package/src-native/pods/Headers/inspector/src/base/safe_conversions.h +0 -389
- package/src-native/pods/Headers/inspector/src/base/safe_conversions_impl.h +0 -822
- package/src-native/pods/Headers/inspector/src/base/template-utils.h +0 -113
- package/src-native/pods/Headers/inspector/src/base/v8-fallthrough.h +0 -21
- package/src-native/pods/Headers/inspector/src/common/checks.h +0 -38
- package/src-native/pods/Headers/inspector/src/common/globals.h +0 -1842
- package/src-native/pods/Headers/inspector/src/debug/debug-interface.h +0 -667
- package/src-native/pods/Headers/inspector/src/debug/interface-types.h +0 -175
- package/src-native/pods/Headers/inspector/src/init/v8.h +0 -52
- package/src-native/pods/Headers/inspector/src/inspector/custom-preview.h +0 -24
- package/src-native/pods/Headers/inspector/src/inspector/injected-script.h +0 -251
- package/src-native/pods/Headers/inspector/src/inspector/inspected-context.h +0 -79
- package/src-native/pods/Headers/inspector/src/inspector/protocol/CSS.h +0 -2148
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Console.h +0 -211
- package/src-native/pods/Headers/inspector/src/inspector/protocol/DOM.h +0 -1008
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Debugger.h +0 -892
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Forward.h +0 -75
- package/src-native/pods/Headers/inspector/src/inspector/protocol/HeapProfiler.h +0 -346
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Log.h +0 -342
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Network.h +0 -2528
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Overlay.h +0 -281
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Page.h +0 -1189
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Profiler.h +0 -1001
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Protocol.h +0 -617
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Runtime.h +0 -1696
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Schema.h +0 -146
- package/src-native/pods/Headers/inspector/src/inspector/protocol/Security.h +0 -793
- package/src-native/pods/Headers/inspector/src/inspector/remote-object-id.h +0 -54
- package/src-native/pods/Headers/inspector/src/inspector/search-util.h +0 -26
- package/src-native/pods/Headers/inspector/src/inspector/string-16.h +0 -180
- package/src-native/pods/Headers/inspector/src/inspector/string-util.h +0 -128
- package/src-native/pods/Headers/inspector/src/inspector/v8-console-agent-impl.h +0 -48
- package/src-native/pods/Headers/inspector/src/inspector/v8-console-message.h +0 -147
- package/src-native/pods/Headers/inspector/src/inspector/v8-console.h +0 -173
- package/src-native/pods/Headers/inspector/src/inspector/v8-css-agent-impl.h +0 -62
- package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-agent-impl.h +0 -248
- package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-id.h +0 -44
- package/src-native/pods/Headers/inspector/src/inspector/v8-debugger-script.h +0 -123
- package/src-native/pods/Headers/inspector/src/inspector/v8-debugger.h +0 -257
- package/src-native/pods/Headers/inspector/src/inspector/v8-dom-agent-impl.h +0 -91
- package/src-native/pods/Headers/inspector/src/inspector/v8-heap-profiler-agent-impl.h +0 -80
- package/src-native/pods/Headers/inspector/src/inspector/v8-inspector-impl.h +0 -191
- package/src-native/pods/Headers/inspector/src/inspector/v8-inspector-session-impl.h +0 -156
- package/src-native/pods/Headers/inspector/src/inspector/v8-log-agent-impl.h +0 -34
- package/src-native/pods/Headers/inspector/src/inspector/v8-network-agent-impl.h +0 -71
- package/src-native/pods/Headers/inspector/src/inspector/v8-ns-debugger-agent-impl.h +0 -24
- package/src-native/pods/Headers/inspector/src/inspector/v8-overlay-agent-impl.h +0 -70
- package/src-native/pods/Headers/inspector/src/inspector/v8-page-agent-impl.h +0 -88
- package/src-native/pods/Headers/inspector/src/inspector/v8-profiler-agent-impl.h +0 -104
- package/src-native/pods/Headers/inspector/src/inspector/v8-regex.h +0 -38
- package/src-native/pods/Headers/inspector/src/inspector/v8-runtime-agent-impl.h +0 -157
- package/src-native/pods/Headers/inspector/src/inspector/v8-schema-agent-impl.h +0 -38
- package/src-native/pods/Headers/inspector/src/inspector/v8-stack-trace-impl.h +0 -164
- package/src-native/pods/Headers/inspector/src/inspector/v8-string-conversions.h +0 -17
- package/src-native/pods/Headers/inspector/src/inspector/v8-value-utils.h +0 -23
- package/src-native/pods/Headers/inspector/src/inspector/value-mirror.h +0 -87
- package/src-native/pods/Headers/inspector/src/libplatform/default-platform.h +0 -92
- package/src-native/pods/Headers/inspector/src/logging/tracing-flags.h +0 -50
- package/src-native/pods/Headers/inspector/src/numbers/conversions.h +0 -183
- package/src-native/pods/Headers/inspector/src/tracing/trace-event.h +0 -664
- package/src-native/pods/Headers/inspector/src/utils/allocation.h +0 -367
- package/src-native/pods/Headers/inspector/src/utils/vector.h +0 -324
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/cbor.h +0 -305
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/dispatch.h +0 -314
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/error_support.h +0 -62
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/export.h +0 -6
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/find_by_first.h +0 -58
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/frontend_channel.h +0 -47
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/glue.h +0 -80
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json.h +0 -52
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/json_platform.h +0 -26
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/maybe.h +0 -104
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/parser_handler.h +0 -39
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/protocol_core.h +0 -406
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializable.h +0 -32
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/serializer_traits.h +0 -158
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/span.h +0 -99
- package/src-native/pods/Headers/inspector/third_party/inspector_protocol/crdtp/status.h +0 -139
- package/src-native/pods/Headers/inspector/utils.h +0 -32
- package/src-native/pods/Headers/inspector/v8-inspector-platform.h +0 -44
- package/src-native/pods/Headers/jsi/decorator.h +0 -762
- package/src-native/pods/Headers/jsi/instrumentation.h +0 -117
- package/src-native/pods/Headers/jsi/jsi-inl.h +0 -322
- package/src-native/pods/Headers/jsi/jsi.h +0 -1387
- package/src-native/pods/Headers/jsi/jsilib.h +0 -59
- package/src-native/pods/Headers/jsi/threadsafe.h +0 -79
- package/src-native/pods/Headers/runtime/ArgConverter.h +0 -61
- package/src-native/pods/Headers/runtime/ArrayAdapter.h +0 -13
- package/src-native/pods/Headers/runtime/Caches.h +0 -98
- package/src-native/pods/Headers/runtime/ClassBuilder.h +0 -61
- package/src-native/pods/Headers/runtime/Common.h +0 -9
- package/src-native/pods/Headers/runtime/ConcurrentMap.h +0 -55
- package/src-native/pods/Headers/runtime/ConcurrentQueue.h +0 -28
- package/src-native/pods/Headers/runtime/Console.h +0 -27
- package/src-native/pods/Headers/runtime/Constants.h +0 -15
- package/src-native/pods/Headers/runtime/DataWrapper.h +0 -671
- package/src-native/pods/Headers/runtime/DictionaryAdapter.h +0 -13
- package/src-native/pods/Headers/runtime/ExtVector.h +0 -21
- package/src-native/pods/Headers/runtime/FFICall.h +0 -105
- package/src-native/pods/Headers/runtime/FastEnumerationAdapter.h +0 -13
- package/src-native/pods/Headers/runtime/FunctionReference.h +0 -18
- package/src-native/pods/Headers/runtime/Helpers.h +0 -84
- package/src-native/pods/Headers/runtime/InlineFunctions.h +0 -16
- package/src-native/pods/Headers/runtime/Interop.h +0 -202
- package/src-native/pods/Headers/runtime/KnownUnknownClassPair.h +0 -35
- package/src-native/pods/Headers/runtime/Metadata.h +0 -981
- package/src-native/pods/Headers/runtime/MetadataBuilder.h +0 -72
- package/src-native/pods/Headers/runtime/MetadataInlines.h +0 -157
- package/src-native/pods/Headers/runtime/ModuleInternal.h +0 -59
- package/src-native/pods/Headers/runtime/NSDataAdapter.h +0 -13
- package/src-native/pods/Headers/runtime/NativeScriptException.h +0 -27
- package/src-native/pods/Headers/runtime/ObjectManager.h +0 -31
- package/src-native/pods/Headers/runtime/OneByteStringResource.h +0 -21
- package/src-native/pods/Headers/runtime/Pointer.h +0 -26
- package/src-native/pods/Headers/runtime/PromiseProxy.h +0 -15
- package/src-native/pods/Headers/runtime/Reference.h +0 -38
- package/src-native/pods/Headers/runtime/Runtime.h +0 -67
- package/src-native/pods/Headers/runtime/RuntimeConfig.h +0 -17
- package/src-native/pods/Headers/runtime/SetTimeout.h +0 -34
- package/src-native/pods/Headers/runtime/SimpleAllocator.h +0 -23
- package/src-native/pods/Headers/runtime/StringHasher.h +0 -315
- package/src-native/pods/Headers/runtime/SymbolIterator.h +0 -18
- package/src-native/pods/Headers/runtime/SymbolLoader.h +0 -27
- package/src-native/pods/Headers/runtime/TNSDerivedClass.h +0 -8
- package/src-native/pods/Headers/runtime/TSHelpers.h +0 -15
- package/src-native/pods/Headers/runtime/Tasks.h +0 -19
- package/src-native/pods/Headers/runtime/UnmanagedType.h +0 -21
- package/src-native/pods/Headers/runtime/WeakRef.h +0 -15
- package/src-native/pods/Headers/runtime/Worker.h +0 -26
- package/src-native/pods/Headers/runtime/robin_hood.h +0 -2184
- package/src-native/pods/Headers/v8runtime/HostProxy.h +0 -71
- package/src-native/pods/Headers/v8runtime/JSIV8ValueConverter.h +0 -70
- package/src-native/pods/Headers/v8runtime/V8PointerValue.h +0 -44
- package/src-native/pods/Headers/v8runtime/V8Runtime.h +0 -215
- package/src-native/pods/Headers/v8runtime/V8RuntimeConfig.h +0 -26
- package/src-native/pods/Headers/v8runtime/V8RuntimeFactory.h +0 -21
- 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_
|