node-bin-darwin-arm64 25.9.0 → 26.1.0
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/CHANGELOG.md +514 -1426
- package/README.md +4 -10
- package/bin/node +0 -0
- package/include/node/common.gypi +78 -2
- package/include/node/config.gypi +20 -10
- package/include/node/cppgc/allocation.h +6 -7
- package/include/node/cppgc/heap-statistics.h +6 -2
- package/include/node/cppgc/internal/api-constants.h +1 -1
- package/include/node/cppgc/visitor.h +1 -0
- package/include/node/js_native_api.h +10 -0
- package/include/node/js_native_api_types.h +4 -0
- package/include/node/libplatform/v8-tracing.h +13 -2
- package/include/node/node.h +1 -1
- package/include/node/node_object_wrap.h +4 -2
- package/include/node/node_version.h +3 -3
- package/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/BSD-x86/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/BSD-x86/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/VC-WIN32/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/aix64-gcc-as/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/aix64-gcc-as/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/aix64-gcc-as/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/aix64-gcc-as/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/aix64-gcc-as/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-aarch64/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-armv4/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-elf/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-elf/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-elf/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-x86_64/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux32-s390x/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux64-loongarch64/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux64-loongarch64/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux64-mips64/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux64-mips64/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux64-riscv64/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux64-riscv64/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux64-s390x/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +1 -1
- package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/cmp.h +3 -1
- package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h +5 -5
- package/include/node/openssl/core_dispatch.h +17 -17
- package/include/node/openssl/httperr.h +2 -1
- package/include/node/openssl/macros.h +2 -1
- package/include/node/openssl/rsa.h +3 -3
- package/include/node/openssl/types.h +3 -1
- package/include/node/uv/unix.h +1 -4
- package/include/node/uv/version.h +2 -2
- package/include/node/uv/win.h +1 -1
- package/include/node/uv.h +12 -8
- package/include/node/v8-array-buffer.h +10 -0
- package/include/node/v8-callbacks.h +15 -6
- package/include/node/v8-context.h +79 -27
- package/include/node/v8-data.h +7 -1
- package/include/node/v8-debug.h +23 -3
- package/include/node/v8-exception.h +7 -4
- package/include/node/v8-extension.h +0 -2
- package/include/node/v8-external.h +40 -4
- package/include/node/v8-function-callback.h +172 -183
- package/include/node/v8-function.h +2 -2
- package/include/node/v8-initialization.h +29 -0
- package/include/node/v8-internal.h +149 -142
- package/include/node/v8-isolate.h +35 -22
- package/include/node/v8-local-handle.h +1 -1
- package/include/node/v8-memory-span.h +4 -59
- package/include/node/v8-message.h +0 -8
- package/include/node/v8-object.h +85 -92
- package/include/node/v8-persistent-handle.h +2 -9
- package/include/node/v8-platform.h +167 -58
- package/include/node/v8-primitive.h +5 -57
- package/include/node/v8-profiler.h +69 -3
- package/include/node/v8-promise.h +16 -5
- package/include/node/v8-sandbox.h +34 -53
- package/include/node/v8-script.h +27 -0
- package/include/node/v8-source-location.h +9 -8
- package/include/node/v8-statistics.h +8 -0
- package/include/node/v8-template.h +44 -122
- package/include/node/v8-version.h +3 -3
- package/include/node/v8-wasm.h +118 -21
- package/include/node/v8config.h +10 -8
- package/package.json +1 -1
- package/share/doc/node/gdbinit +79 -0
- package/share/doc/node/lldb_commands.py +6 -0
- package/share/man/man1/node.1 +60 -10
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Copyright 2001-
|
|
2
|
+
* Copyright 2001-2026 The OpenSSL Project Authors. All Rights Reserved.
|
|
3
3
|
*
|
|
4
4
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
5
5
|
* this file except in compliance with the License. You can obtain a copy
|
|
@@ -155,7 +155,9 @@ typedef struct dsa_method DSA_METHOD;
|
|
|
155
155
|
typedef struct rsa_st RSA;
|
|
156
156
|
typedef struct rsa_meth_st RSA_METHOD;
|
|
157
157
|
#endif
|
|
158
|
+
|
|
158
159
|
typedef struct rsa_pss_params_st RSA_PSS_PARAMS;
|
|
160
|
+
typedef struct rsa_oaep_params_st RSA_OAEP_PARAMS;
|
|
159
161
|
|
|
160
162
|
#ifndef OPENSSL_NO_DEPRECATED_3_0
|
|
161
163
|
typedef struct ec_key_st EC_KEY;
|
package/include/node/uv/unix.h
CHANGED
|
@@ -85,13 +85,10 @@
|
|
|
85
85
|
struct uv__io_s;
|
|
86
86
|
struct uv_loop_s;
|
|
87
87
|
|
|
88
|
-
typedef void (*uv__io_cb)(struct uv_loop_s* loop,
|
|
89
|
-
struct uv__io_s* w,
|
|
90
|
-
unsigned int events);
|
|
91
88
|
typedef struct uv__io_s uv__io_t;
|
|
92
89
|
|
|
93
90
|
struct uv__io_s {
|
|
94
|
-
|
|
91
|
+
uintptr_t bits;
|
|
95
92
|
struct uv__queue pending_queue;
|
|
96
93
|
struct uv__queue watcher_queue;
|
|
97
94
|
unsigned int pevents; /* Pending event mask i.e. mask at next tick. */
|
package/include/node/uv/win.h
CHANGED
package/include/node/uv.h
CHANGED
|
@@ -44,10 +44,8 @@ extern "C" {
|
|
|
44
44
|
/* Building static library. */
|
|
45
45
|
# define UV_EXTERN /* nothing */
|
|
46
46
|
# endif
|
|
47
|
-
#elif __GNUC__
|
|
47
|
+
#elif defined(__GNUC__)
|
|
48
48
|
# define UV_EXTERN __attribute__((visibility("default")))
|
|
49
|
-
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) /* Sun Studio >= 8 */
|
|
50
|
-
# define UV_EXTERN __global
|
|
51
49
|
#else
|
|
52
50
|
# define UV_EXTERN /* nothing */
|
|
53
51
|
#endif
|
|
@@ -604,6 +602,11 @@ UV_EXTERN int uv_tcp_nodelay(uv_tcp_t* handle, int enable);
|
|
|
604
602
|
UV_EXTERN int uv_tcp_keepalive(uv_tcp_t* handle,
|
|
605
603
|
int enable,
|
|
606
604
|
unsigned int delay);
|
|
605
|
+
UV_EXTERN int uv_tcp_keepalive_ex(uv_tcp_t* handle,
|
|
606
|
+
int on,
|
|
607
|
+
unsigned int idle,
|
|
608
|
+
unsigned int intvl,
|
|
609
|
+
unsigned int cnt);
|
|
607
610
|
UV_EXTERN int uv_tcp_simultaneous_accepts(uv_tcp_t* handle, int enable);
|
|
608
611
|
|
|
609
612
|
enum uv_tcp_flags {
|
|
@@ -741,6 +744,9 @@ struct uv_udp_send_s {
|
|
|
741
744
|
UV_EXTERN int uv_udp_init(uv_loop_t*, uv_udp_t* handle);
|
|
742
745
|
UV_EXTERN int uv_udp_init_ex(uv_loop_t*, uv_udp_t* handle, unsigned int flags);
|
|
743
746
|
UV_EXTERN int uv_udp_open(uv_udp_t* handle, uv_os_sock_t sock);
|
|
747
|
+
UV_EXTERN int uv_udp_open_ex(uv_udp_t* handle,
|
|
748
|
+
uv_os_sock_t sock,
|
|
749
|
+
unsigned int flags);
|
|
744
750
|
UV_EXTERN int uv_udp_bind(uv_udp_t* handle,
|
|
745
751
|
const struct sockaddr* addr,
|
|
746
752
|
unsigned int flags);
|
|
@@ -1203,7 +1209,7 @@ struct uv_cpu_times_s {
|
|
|
1203
1209
|
};
|
|
1204
1210
|
|
|
1205
1211
|
struct uv_cpu_info_s {
|
|
1206
|
-
char* model;
|
|
1212
|
+
const char* model;
|
|
1207
1213
|
int speed;
|
|
1208
1214
|
struct uv_cpu_times_s cpu_times;
|
|
1209
1215
|
};
|
|
@@ -1254,7 +1260,8 @@ struct uv_statfs_s {
|
|
|
1254
1260
|
uint64_t f_bavail;
|
|
1255
1261
|
uint64_t f_files;
|
|
1256
1262
|
uint64_t f_ffree;
|
|
1257
|
-
uint64_t
|
|
1263
|
+
uint64_t f_frsize;
|
|
1264
|
+
uint64_t f_spare[3];
|
|
1258
1265
|
};
|
|
1259
1266
|
|
|
1260
1267
|
typedef enum {
|
|
@@ -1964,7 +1971,6 @@ UV_EXTERN void uv_wtf8_to_utf16(const char* wtf8,
|
|
|
1964
1971
|
size_t utf16_len);
|
|
1965
1972
|
|
|
1966
1973
|
/* Don't export the private CPP symbols. */
|
|
1967
|
-
#undef UV_HANDLE_TYPE_PRIVATE
|
|
1968
1974
|
#undef UV_REQ_TYPE_PRIVATE
|
|
1969
1975
|
#undef UV_REQ_PRIVATE_FIELDS
|
|
1970
1976
|
#undef UV_STREAM_PRIVATE_FIELDS
|
|
@@ -1976,12 +1982,10 @@ UV_EXTERN void uv_wtf8_to_utf16(const char* wtf8,
|
|
|
1976
1982
|
#undef UV_TIMER_PRIVATE_FIELDS
|
|
1977
1983
|
#undef UV_GETADDRINFO_PRIVATE_FIELDS
|
|
1978
1984
|
#undef UV_GETNAMEINFO_PRIVATE_FIELDS
|
|
1979
|
-
#undef UV_FS_REQ_PRIVATE_FIELDS
|
|
1980
1985
|
#undef UV_WORK_PRIVATE_FIELDS
|
|
1981
1986
|
#undef UV_FS_EVENT_PRIVATE_FIELDS
|
|
1982
1987
|
#undef UV_SIGNAL_PRIVATE_FIELDS
|
|
1983
1988
|
#undef UV_LOOP_PRIVATE_FIELDS
|
|
1984
|
-
#undef UV_LOOP_PRIVATE_PLATFORM_FIELDS
|
|
1985
1989
|
#undef UV__ERR
|
|
1986
1990
|
|
|
1987
1991
|
#ifdef __cplusplus
|
|
@@ -77,6 +77,11 @@ class V8_EXPORT BackingStore : public v8::internal::BackingStoreBase {
|
|
|
77
77
|
*/
|
|
78
78
|
bool IsShared() const;
|
|
79
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Indicates whether the backing store is immutable.
|
|
82
|
+
*/
|
|
83
|
+
bool IsImmutable() const;
|
|
84
|
+
|
|
80
85
|
/**
|
|
81
86
|
* Indicates whether the backing store was created for a resizable ArrayBuffer
|
|
82
87
|
* or a growable SharedArrayBuffer, and thus may be resized by user JavaScript
|
|
@@ -328,6 +333,11 @@ class V8_EXPORT ArrayBuffer : public Object {
|
|
|
328
333
|
*/
|
|
329
334
|
bool WasDetached() const;
|
|
330
335
|
|
|
336
|
+
/**
|
|
337
|
+
* Returns true if this ArrayBuffer is immutable.
|
|
338
|
+
*/
|
|
339
|
+
bool IsImmutable() const;
|
|
340
|
+
|
|
331
341
|
/**
|
|
332
342
|
* Detaches this ArrayBuffer and all its views (typed arrays).
|
|
333
343
|
* Detaching sets the byte length of the buffer and all typed arrays to zero,
|
|
@@ -184,6 +184,7 @@ enum GCCallbackFlags {
|
|
|
184
184
|
kGCCallbackFlagCollectAllAvailableGarbage = 1 << 4,
|
|
185
185
|
kGCCallbackFlagCollectAllExternalMemory = 1 << 5,
|
|
186
186
|
kGCCallbackScheduleIdleGarbageCollection = 1 << 6,
|
|
187
|
+
kGCCallbackFlagLastResort = 1 << 7,
|
|
187
188
|
};
|
|
188
189
|
|
|
189
190
|
using GCCallback = void (*)(GCType type, GCCallbackFlags flags);
|
|
@@ -232,6 +233,10 @@ struct OOMDetails {
|
|
|
232
233
|
using OOMErrorCallback = void (*)(const char* location,
|
|
233
234
|
const OOMDetails& details);
|
|
234
235
|
|
|
236
|
+
using OOMErrorCallbackWithData = void (*)(const char* location,
|
|
237
|
+
const OOMDetails& details,
|
|
238
|
+
void* data);
|
|
239
|
+
|
|
235
240
|
using MessageCallback = void (*)(Local<Message> message, Local<Value> data);
|
|
236
241
|
|
|
237
242
|
// --- Tracing ---
|
|
@@ -255,6 +260,15 @@ enum class CrashKeyId {
|
|
|
255
260
|
|
|
256
261
|
using AddCrashKeyCallback = void (*)(CrashKeyId id, const std::string& value);
|
|
257
262
|
|
|
263
|
+
// --- CrashKeyString Callbacks ---
|
|
264
|
+
using CrashKey = void*;
|
|
265
|
+
enum class CrashKeySize { Size32, Size64, Size256, Size1024 };
|
|
266
|
+
|
|
267
|
+
using AllocateCrashKeyStringCallback =
|
|
268
|
+
std::function<CrashKey(const char key[], CrashKeySize size)>;
|
|
269
|
+
using SetCrashKeyStringCallback =
|
|
270
|
+
std::function<void(CrashKey key, const std::string_view value)>;
|
|
271
|
+
|
|
258
272
|
// --- Enter/Leave Script Callback ---
|
|
259
273
|
using BeforeCallEnteredCallback = void (*)(Isolate*);
|
|
260
274
|
using CallCompletedCallback = void (*)(Isolate*);
|
|
@@ -321,9 +335,6 @@ using WasmAsyncResolvePromiseCallback = void (*)(
|
|
|
321
335
|
using WasmLoadSourceMapCallback = Local<String> (*)(Isolate* isolate,
|
|
322
336
|
const char* name);
|
|
323
337
|
|
|
324
|
-
// --- Callback for checking if WebAssembly imported strings are enabled ---
|
|
325
|
-
using WasmImportedStringsEnabledCallback = bool (*)(Local<Context> context);
|
|
326
|
-
|
|
327
338
|
// --- Callback for checking if WebAssembly Custom Descriptors are enabled ---
|
|
328
339
|
using WasmCustomDescriptorsEnabledCallback = bool (*)(Local<Context> context);
|
|
329
340
|
|
|
@@ -331,14 +342,12 @@ using WasmCustomDescriptorsEnabledCallback = bool (*)(Local<Context> context);
|
|
|
331
342
|
using SharedArrayBufferConstructorEnabledCallback =
|
|
332
343
|
bool (*)(Local<Context> context);
|
|
333
344
|
|
|
334
|
-
// --- Callback for checking if WebAssembly JSPI is enabled ---
|
|
335
|
-
using WasmJSPIEnabledCallback = bool (*)(Local<Context> context);
|
|
336
|
-
|
|
337
345
|
/**
|
|
338
346
|
* Import phases in import requests.
|
|
339
347
|
*/
|
|
340
348
|
enum class ModuleImportPhase {
|
|
341
349
|
kSource,
|
|
350
|
+
kDefer,
|
|
342
351
|
kEvaluation,
|
|
343
352
|
};
|
|
344
353
|
|
|
@@ -255,12 +255,6 @@ class V8_EXPORT Context : public Data {
|
|
|
255
255
|
*/
|
|
256
256
|
Maybe<void> DeepFreeze(DeepFreezeDelegate* delegate = nullptr);
|
|
257
257
|
|
|
258
|
-
/** Returns the isolate associated with a current context. */
|
|
259
|
-
V8_DEPRECATED(
|
|
260
|
-
"Use Isolate::GetCurrent() instead, which is guaranteed to return the "
|
|
261
|
-
"same isolate since https://crrev.com/c/6458560.")
|
|
262
|
-
Isolate* GetIsolate();
|
|
263
|
-
|
|
264
258
|
/** Returns the microtask queue associated with a current context. */
|
|
265
259
|
MicrotaskQueue* GetMicrotaskQueue();
|
|
266
260
|
|
|
@@ -282,6 +276,20 @@ class V8_EXPORT Context : public Data {
|
|
|
282
276
|
* Gets the embedder data with the given index, which must have been set by a
|
|
283
277
|
* previous call to SetEmbedderData with the same index.
|
|
284
278
|
*/
|
|
279
|
+
V8_INLINE Local<Data> GetEmbedderDataV2(int index);
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Sets the embedder data with the given index, growing the data as
|
|
283
|
+
* needed. Note that index 0 currently has a special meaning for Chrome's
|
|
284
|
+
* debugger.
|
|
285
|
+
*/
|
|
286
|
+
void SetEmbedderDataV2(int index, Local<Data> value);
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* Gets the embedder data with the given index, which must have been set by a
|
|
290
|
+
* previous call to SetEmbedderData with the same index.
|
|
291
|
+
*/
|
|
292
|
+
V8_DEPRECATE_SOON("Use GetEmbedderDataV2 instead")
|
|
285
293
|
V8_INLINE Local<Value> GetEmbedderData(int index);
|
|
286
294
|
|
|
287
295
|
/**
|
|
@@ -297,6 +305,7 @@ class V8_EXPORT Context : public Data {
|
|
|
297
305
|
* needed. Note that index 0 currently has a special meaning for Chrome's
|
|
298
306
|
* debugger.
|
|
299
307
|
*/
|
|
308
|
+
V8_DEPRECATE_SOON("Use SetEmbedderDataV2 instead")
|
|
300
309
|
void SetEmbedderData(int index, Local<Value> value);
|
|
301
310
|
|
|
302
311
|
/**
|
|
@@ -305,22 +314,42 @@ class V8_EXPORT Context : public Data {
|
|
|
305
314
|
* SetAlignedPointerInEmbedderData with the same index. Note that index 0
|
|
306
315
|
* currently has a special meaning for Chrome's debugger.
|
|
307
316
|
*/
|
|
317
|
+
V8_INLINE void* GetAlignedPointerFromEmbedderData(Isolate* isolate, int index,
|
|
318
|
+
EmbedderDataTypeTag tag);
|
|
319
|
+
V8_INLINE void* GetAlignedPointerFromEmbedderData(int index,
|
|
320
|
+
EmbedderDataTypeTag tag);
|
|
321
|
+
|
|
322
|
+
V8_DEPRECATED(
|
|
323
|
+
"Use GetAlignedPointerFromEmbedderData with EmbedderDataTypeTag "
|
|
324
|
+
"parameter instead.")
|
|
308
325
|
V8_INLINE void* GetAlignedPointerFromEmbedderData(Isolate* isolate,
|
|
309
|
-
int index)
|
|
310
|
-
|
|
326
|
+
int index) {
|
|
327
|
+
return GetAlignedPointerFromEmbedderData(isolate, index,
|
|
328
|
+
kEmbedderDataTypeTagDefault);
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
V8_DEPRECATED(
|
|
332
|
+
"Use GetAlignedPointerFromEmbedderData with EmbedderDataTypeTag "
|
|
333
|
+
"parameter instead.")
|
|
334
|
+
V8_INLINE void* GetAlignedPointerFromEmbedderData(int index) {
|
|
335
|
+
return GetAlignedPointerFromEmbedderData(index,
|
|
336
|
+
kEmbedderDataTypeTagDefault);
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
void SetAlignedPointerInEmbedderData(int index, void* value,
|
|
340
|
+
EmbedderDataTypeTag tag);
|
|
311
341
|
|
|
312
342
|
/**
|
|
313
343
|
* Sets a 2-byte-aligned native pointer in the embedder data with the given
|
|
314
344
|
* index, growing the data as needed. Note that index 0 currently has a
|
|
315
345
|
* special meaning for Chrome's debugger.
|
|
316
346
|
*/
|
|
317
|
-
|
|
347
|
+
V8_DEPRECATED(
|
|
318
348
|
"Use SetAlignedPointerInEmbedderData with EmbedderDataTypeTag parameter "
|
|
319
349
|
"instead.")
|
|
320
|
-
void SetAlignedPointerInEmbedderData(int index, void* value)
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
EmbedderDataTypeTag slot);
|
|
350
|
+
void SetAlignedPointerInEmbedderData(int index, void* value) {
|
|
351
|
+
SetAlignedPointerInEmbedderData(index, value, kEmbedderDataTypeTagDefault);
|
|
352
|
+
}
|
|
324
353
|
|
|
325
354
|
/**
|
|
326
355
|
* Control whether code generation from strings is allowed. Calling
|
|
@@ -439,7 +468,9 @@ class V8_EXPORT Context : public Data {
|
|
|
439
468
|
internal::ValueHelper::InternalRepresentationType GetDataFromSnapshotOnce(
|
|
440
469
|
size_t index);
|
|
441
470
|
Local<Value> SlowGetEmbedderData(int index);
|
|
442
|
-
|
|
471
|
+
Local<Data> SlowGetEmbedderDataV2(int index);
|
|
472
|
+
void* SlowGetAlignedPointerFromEmbedderData(int index,
|
|
473
|
+
EmbedderDataTypeTag tag);
|
|
443
474
|
};
|
|
444
475
|
|
|
445
476
|
// --- Implementation ---
|
|
@@ -456,7 +487,7 @@ Local<Value> Context::GetEmbedderData(int index) {
|
|
|
456
487
|
A value = I::ReadRawField<A>(embedder_data, value_offset);
|
|
457
488
|
#ifdef V8_COMPRESS_POINTERS
|
|
458
489
|
// We read the full pointer value and then decompress it in order to avoid
|
|
459
|
-
// dealing with potential
|
|
490
|
+
// dealing with potential endianness issues.
|
|
460
491
|
value = I::DecompressTaggedField(embedder_data, static_cast<uint32_t>(value));
|
|
461
492
|
#endif
|
|
462
493
|
|
|
@@ -467,7 +498,31 @@ Local<Value> Context::GetEmbedderData(int index) {
|
|
|
467
498
|
#endif
|
|
468
499
|
}
|
|
469
500
|
|
|
470
|
-
|
|
501
|
+
V8_INLINE Local<Data> Context::GetEmbedderDataV2(int index) {
|
|
502
|
+
#ifndef V8_ENABLE_CHECKS
|
|
503
|
+
using A = internal::Address;
|
|
504
|
+
using I = internal::Internals;
|
|
505
|
+
A ctx = internal::ValueHelper::ValueAsAddress(this);
|
|
506
|
+
A embedder_data =
|
|
507
|
+
I::ReadTaggedPointerField(ctx, I::kNativeContextEmbedderDataOffset);
|
|
508
|
+
int value_offset =
|
|
509
|
+
I::kEmbedderDataArrayHeaderSize + (I::kEmbedderDataSlotSize * index);
|
|
510
|
+
A value = I::ReadRawField<A>(embedder_data, value_offset);
|
|
511
|
+
#ifdef V8_COMPRESS_POINTERS
|
|
512
|
+
// We read the full pointer value and then decompress it in order to avoid
|
|
513
|
+
// dealing with potential endianness issues.
|
|
514
|
+
value = I::DecompressTaggedField(embedder_data, static_cast<uint32_t>(value));
|
|
515
|
+
#endif
|
|
516
|
+
|
|
517
|
+
auto* isolate = I::GetCurrentIsolate();
|
|
518
|
+
return Local<Data>::New(isolate, value);
|
|
519
|
+
#else
|
|
520
|
+
return SlowGetEmbedderDataV2(index);
|
|
521
|
+
#endif
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
void* Context::GetAlignedPointerFromEmbedderData(Isolate* isolate, int index,
|
|
525
|
+
EmbedderDataTypeTag tag) {
|
|
471
526
|
#if !defined(V8_ENABLE_CHECKS)
|
|
472
527
|
using A = internal::Address;
|
|
473
528
|
using I = internal::Internals;
|
|
@@ -477,16 +532,15 @@ void* Context::GetAlignedPointerFromEmbedderData(Isolate* isolate, int index) {
|
|
|
477
532
|
int value_offset = I::kEmbedderDataArrayHeaderSize +
|
|
478
533
|
(I::kEmbedderDataSlotSize * index) +
|
|
479
534
|
I::kEmbedderDataSlotExternalPointerOffset;
|
|
480
|
-
return reinterpret_cast<void*>(
|
|
481
|
-
|
|
482
|
-
internal::kLastEmbedderDataTag}>(
|
|
483
|
-
isolate, embedder_data, value_offset));
|
|
535
|
+
return reinterpret_cast<void*>(I::ReadExternalPointerField(
|
|
536
|
+
isolate, embedder_data, value_offset, ToExternalPointerTag(tag)));
|
|
484
537
|
#else
|
|
485
|
-
return SlowGetAlignedPointerFromEmbedderData(index);
|
|
538
|
+
return SlowGetAlignedPointerFromEmbedderData(index, tag);
|
|
486
539
|
#endif
|
|
487
540
|
}
|
|
488
541
|
|
|
489
|
-
void* Context::GetAlignedPointerFromEmbedderData(int index
|
|
542
|
+
void* Context::GetAlignedPointerFromEmbedderData(int index,
|
|
543
|
+
EmbedderDataTypeTag tag) {
|
|
490
544
|
#if !defined(V8_ENABLE_CHECKS)
|
|
491
545
|
using A = internal::Address;
|
|
492
546
|
using I = internal::Internals;
|
|
@@ -497,12 +551,10 @@ void* Context::GetAlignedPointerFromEmbedderData(int index) {
|
|
|
497
551
|
(I::kEmbedderDataSlotSize * index) +
|
|
498
552
|
I::kEmbedderDataSlotExternalPointerOffset;
|
|
499
553
|
Isolate* isolate = I::GetCurrentIsolateForSandbox();
|
|
500
|
-
return reinterpret_cast<void*>(
|
|
501
|
-
|
|
502
|
-
internal::kLastEmbedderDataTag}>(
|
|
503
|
-
isolate, embedder_data, value_offset));
|
|
554
|
+
return reinterpret_cast<void*>(I::ReadExternalPointerField(
|
|
555
|
+
isolate, embedder_data, value_offset, ToExternalPointerTag(tag)));
|
|
504
556
|
#else
|
|
505
|
-
return SlowGetAlignedPointerFromEmbedderData(index);
|
|
557
|
+
return SlowGetAlignedPointerFromEmbedderData(index, tag);
|
|
506
558
|
#endif
|
|
507
559
|
}
|
|
508
560
|
|
package/include/node/v8-data.h
CHANGED
|
@@ -52,6 +52,11 @@ class V8_EXPORT Data {
|
|
|
52
52
|
*/
|
|
53
53
|
bool IsFunctionTemplate() const;
|
|
54
54
|
|
|
55
|
+
/**
|
|
56
|
+
* Returns true if this data is a |v8::DictionaryTemplate|.
|
|
57
|
+
*/
|
|
58
|
+
bool IsDictionaryTemplate() const;
|
|
59
|
+
|
|
55
60
|
/**
|
|
56
61
|
* Returns true if this data is a |v8::Context|.
|
|
57
62
|
*/
|
|
@@ -72,7 +77,8 @@ class V8_EXPORT Data {
|
|
|
72
77
|
class V8_EXPORT FixedArray : public Data {
|
|
73
78
|
public:
|
|
74
79
|
int Length() const;
|
|
75
|
-
|
|
80
|
+
|
|
81
|
+
Local<Data> Get(int i) const;
|
|
76
82
|
|
|
77
83
|
V8_INLINE static FixedArray* Cast(Data* data) {
|
|
78
84
|
#ifdef V8_ENABLE_CHECKS
|
package/include/node/v8-debug.h
CHANGED
|
@@ -136,6 +136,11 @@ class V8_EXPORT StackTrace {
|
|
|
136
136
|
kDetailed = kOverview | kIsEval | kIsConstructor | kScriptNameOrSourceURL
|
|
137
137
|
};
|
|
138
138
|
|
|
139
|
+
struct ScriptIdAndContext {
|
|
140
|
+
int id;
|
|
141
|
+
v8::Local<v8::Context> context;
|
|
142
|
+
};
|
|
143
|
+
|
|
139
144
|
/**
|
|
140
145
|
* Returns the (unique) ID of this stack trace.
|
|
141
146
|
*/
|
|
@@ -174,15 +179,30 @@ class V8_EXPORT StackTrace {
|
|
|
174
179
|
static Local<String> CurrentScriptNameOrSourceURL(Isolate* isolate);
|
|
175
180
|
|
|
176
181
|
/**
|
|
177
|
-
* Returns the first valid script id at the top of
|
|
178
|
-
*
|
|
179
|
-
* was found.
|
|
182
|
+
* Returns the first valid script id at the top of the JS stack. The returned
|
|
183
|
+
* value is Message::kNoScriptIdInfo if no id was found.
|
|
180
184
|
*
|
|
181
185
|
* This method is equivalent to calling StackTrace::CurrentStackTrace and
|
|
182
186
|
* walking the resulting frames from the beginning until a non-empty id is
|
|
183
187
|
* found. The difference is that this method won't allocate a stack trace.
|
|
184
188
|
*/
|
|
185
189
|
static int CurrentScriptId(Isolate* isolate);
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Writes up to the first `frame_data.size()` valid script ids and function
|
|
193
|
+
* contexts at the top of the JS stack into the given span. Returns a span
|
|
194
|
+
* sized to the number of frames worth of data written. It's similar to the
|
|
195
|
+
* CurrentStackTrace method but doesn't allocate a stack trace. Further, it
|
|
196
|
+
* skips frames that don't have valid script ids or function contexts. The
|
|
197
|
+
* final difference is that the script id written for evals or regexp is that
|
|
198
|
+
* of the script that ran eval() or regexp, not the current context.
|
|
199
|
+
*
|
|
200
|
+
* WARNING: This is an unfinished experimental feature. Semantics and
|
|
201
|
+
* implementation may change frequently.
|
|
202
|
+
*/
|
|
203
|
+
static v8::MemorySpan<v8::StackTrace::ScriptIdAndContext>
|
|
204
|
+
CurrentScriptIdsAndContexts(Isolate* isolate,
|
|
205
|
+
v8::MemorySpan<ScriptIdAndContext> frame_data);
|
|
186
206
|
};
|
|
187
207
|
|
|
188
208
|
} // namespace v8
|
|
@@ -276,15 +276,18 @@ class V8_EXPORT TryCatch {
|
|
|
276
276
|
|
|
277
277
|
void ResetInternal();
|
|
278
278
|
|
|
279
|
+
// Helper methods for internal::Isolate.
|
|
280
|
+
bool capture_message() const;
|
|
281
|
+
void set_can_continue(bool value);
|
|
282
|
+
bool rethrow() const;
|
|
283
|
+
void set_rethrow(bool value);
|
|
284
|
+
|
|
279
285
|
internal::Isolate* i_isolate_;
|
|
280
286
|
TryCatch* next_;
|
|
281
287
|
void* exception_;
|
|
282
288
|
void* message_obj_;
|
|
283
289
|
internal::Address js_stack_comparable_address_;
|
|
284
|
-
|
|
285
|
-
bool can_continue_ : 1;
|
|
286
|
-
bool capture_message_ : 1;
|
|
287
|
-
bool rethrow_ : 1;
|
|
290
|
+
uint8_t flags_;
|
|
288
291
|
|
|
289
292
|
friend class internal::Isolate;
|
|
290
293
|
friend class internal::ThreadLocalTop;
|
|
@@ -33,7 +33,6 @@ class V8_EXPORT Extension {
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
const char* name() const { return name_; }
|
|
36
|
-
size_t source_length() const { return source_length_; }
|
|
37
36
|
const String::ExternalOneByteStringResource* source() const {
|
|
38
37
|
return source_;
|
|
39
38
|
}
|
|
@@ -48,7 +47,6 @@ class V8_EXPORT Extension {
|
|
|
48
47
|
|
|
49
48
|
private:
|
|
50
49
|
const char* name_;
|
|
51
|
-
size_t source_length_; // expected to initialize before source_
|
|
52
50
|
String::ExternalOneByteStringResource* source_;
|
|
53
51
|
int dep_count_;
|
|
54
52
|
const char** deps_;
|
|
@@ -12,24 +12,60 @@ namespace v8 {
|
|
|
12
12
|
|
|
13
13
|
class Isolate;
|
|
14
14
|
|
|
15
|
+
/**
|
|
16
|
+
* A tag for external pointers. Objects with different C++ types should use
|
|
17
|
+
* different values of ExternalPointerTypeTag when using v8::External. The
|
|
18
|
+
* allowed range is 0..V8_EXTERNAL_POINTER_TAG_COUNT - 1. If this is not
|
|
19
|
+
* sufficient, V8_EXTERNAL_POINTER_TAG_COUNT can be increased.
|
|
20
|
+
*/
|
|
21
|
+
using ExternalPointerTypeTag = uint16_t;
|
|
22
|
+
|
|
23
|
+
constexpr ExternalPointerTypeTag kExternalPointerTypeTagDefault = 0;
|
|
24
|
+
|
|
15
25
|
/**
|
|
16
26
|
* A JavaScript value that wraps a C++ void*. This type of value is mainly used
|
|
17
27
|
* to associate C++ data structures with JavaScript objects.
|
|
18
28
|
*/
|
|
19
29
|
class V8_EXPORT External : public Value {
|
|
20
30
|
public:
|
|
21
|
-
|
|
22
|
-
|
|
31
|
+
V8_DEPRECATED("Use the version with the type tag.")
|
|
32
|
+
static Local<External> New(Isolate* isolate, void* value) {
|
|
33
|
+
return New(isolate, value, kExternalPointerTypeTagDefault);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates a new External object.
|
|
37
|
+
*
|
|
38
|
+
* \param isolate The isolate for the external object.
|
|
39
|
+
* \param value The C++ pointer value.
|
|
40
|
+
* \param tag The type tag of the external pointer. If type tags are not used
|
|
41
|
+
* in the embedder, the default value `kExternalPointerTypeTagDefault` can be
|
|
42
|
+
* used.
|
|
43
|
+
* \return The new External object.
|
|
44
|
+
*/
|
|
45
|
+
static Local<External> New(Isolate* isolate, void* value,
|
|
46
|
+
ExternalPointerTypeTag tag);
|
|
47
|
+
V8_INLINE static External* Cast(Data* value) {
|
|
23
48
|
#ifdef V8_ENABLE_CHECKS
|
|
24
49
|
CheckCast(value);
|
|
25
50
|
#endif
|
|
26
51
|
return static_cast<External*>(value);
|
|
27
52
|
}
|
|
28
53
|
|
|
29
|
-
|
|
54
|
+
V8_DEPRECATED("Use the version with the type tag.")
|
|
55
|
+
void* Value() const { return Value(kExternalPointerTypeTagDefault); }
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Returns the value of the external pointer.
|
|
59
|
+
*
|
|
60
|
+
* \param tag The type tag of the external pointer. If type tags are not used
|
|
61
|
+
* in the embedder, the default value `kExternalPointerTypeTagDefault` can be
|
|
62
|
+
* used.
|
|
63
|
+
* \return The value of the external pointer.
|
|
64
|
+
*/
|
|
65
|
+
void* Value(ExternalPointerTypeTag tag) const;
|
|
30
66
|
|
|
31
67
|
private:
|
|
32
|
-
static void CheckCast(v8::
|
|
68
|
+
static void CheckCast(v8::Data* obj);
|
|
33
69
|
};
|
|
34
70
|
|
|
35
71
|
} // namespace v8
|