diff --git a/android-configure b/android-configure old mode 100644 new mode 100755 diff --git a/configure b/configure old mode 100644 new mode 100755 diff --git a/configure.py b/configure.py old mode 100644 new mode 100755 diff --git a/deps/acorn/acorn/bin/acorn b/deps/acorn/acorn/bin/acorn old mode 100644 new mode 100755 diff --git a/deps/base64/base64/lib/tables/table_enc_12bit.py b/deps/base64/base64/lib/tables/table_enc_12bit.py old mode 100644 new mode 100755 diff --git a/deps/base64/base64/test/ci/test.sh b/deps/base64/base64/test/ci/test.sh old mode 100644 new mode 100755 diff --git a/deps/cares/buildconf b/deps/cares/buildconf old mode 100644 new mode 100755 diff --git a/deps/cares/compile b/deps/cares/compile old mode 100644 new mode 100755 diff --git a/deps/cares/config.guess b/deps/cares/config.guess old mode 100644 new mode 100755 diff --git a/deps/cares/config.sub b/deps/cares/config.sub old mode 100644 new mode 100755 diff --git a/deps/cares/configure b/deps/cares/configure old mode 100644 new mode 100755 diff --git a/deps/cares/depcomp b/deps/cares/depcomp old mode 100644 new mode 100755 diff --git a/deps/cares/install-sh b/deps/cares/install-sh old mode 100644 new mode 100755 diff --git a/deps/cares/ltmain.sh b/deps/cares/ltmain.sh old mode 100644 new mode 100755 diff --git a/deps/cares/maketgz b/deps/cares/maketgz old mode 100644 new mode 100755 diff --git a/deps/cares/missing b/deps/cares/missing old mode 100644 new mode 100755 diff --git a/deps/cjs-module-lexer/LICENSE b/deps/cjs-module-lexer/LICENSE old mode 100644 new mode 100755 diff --git a/deps/cjs-module-lexer/README.md b/deps/cjs-module-lexer/README.md old mode 100644 new mode 100755 diff --git a/deps/cjs-module-lexer/lexer.js b/deps/cjs-module-lexer/lexer.js old mode 100644 new mode 100755 diff --git a/deps/cjs-module-lexer/package.json b/deps/cjs-module-lexer/package.json old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/corepack.js b/deps/corepack/dist/corepack.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/npm.js b/deps/corepack/dist/npm.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/npx.js b/deps/corepack/dist/npx.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/pnpm.js b/deps/corepack/dist/pnpm.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/pnpx.js b/deps/corepack/dist/pnpx.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/yarn.js b/deps/corepack/dist/yarn.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/yarnpkg.js b/deps/corepack/dist/yarnpkg.js old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/corepack b/deps/corepack/shims/corepack old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/corepack.cmd b/deps/corepack/shims/corepack.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/corepack.ps1 b/deps/corepack/shims/corepack.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npm b/deps/corepack/shims/npm old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npm.cmd b/deps/corepack/shims/npm.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npm.ps1 b/deps/corepack/shims/npm.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npx b/deps/corepack/shims/npx old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npx.cmd b/deps/corepack/shims/npx.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npx.ps1 b/deps/corepack/shims/npx.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpm b/deps/corepack/shims/pnpm old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpm.cmd b/deps/corepack/shims/pnpm.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpm.ps1 b/deps/corepack/shims/pnpm.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpx b/deps/corepack/shims/pnpx old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpx.cmd b/deps/corepack/shims/pnpx.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpx.ps1 b/deps/corepack/shims/pnpx.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarn b/deps/corepack/shims/yarn old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarn.cmd b/deps/corepack/shims/yarn.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarn.ps1 b/deps/corepack/shims/yarn.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarnpkg b/deps/corepack/shims/yarnpkg old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarnpkg.cmd b/deps/corepack/shims/yarnpkg.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarnpkg.ps1 b/deps/corepack/shims/yarnpkg.ps1 old mode 100644 new mode 100755 diff --git a/deps/icu-small/source/common/rbbicst.pl b/deps/icu-small/source/common/rbbicst.pl old mode 100644 new mode 100755 diff --git a/deps/icu-small/source/i18n/regexcst.pl b/deps/icu-small/source/i18n/regexcst.pl old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npm b/deps/npm/bin/npm old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npm.cmd b/deps/npm/bin/npm.cmd old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npx b/deps/npm/bin/npx old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npx-cli.js b/deps/npm/bin/npx-cli.js old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npx.cmd b/deps/npm/bin/npx.cmd old mode 100644 new mode 100755 diff --git a/deps/npm/lib/utils/completion.sh b/deps/npm/lib/utils/completion.sh old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/index.js b/deps/npm/node_modules/@npmcli/arborist/bin/index.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/@npmcli/installed-package-contents/lib/index.js b/deps/npm/node_modules/@npmcli/installed-package-contents/lib/index.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp b/deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp.cmd b/deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp.cmd old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/color-support/bin.js b/deps/npm/node_modules/color-support/bin.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/cross-spawn/node_modules/which/bin/node-which b/deps/npm/node_modules/cross-spawn/node_modules/which/bin/node-which old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/cssesc/bin/cssesc b/deps/npm/node_modules/cssesc/bin/cssesc old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/glob/dist/cjs/src/bin.js b/deps/npm/node_modules/glob/dist/cjs/src/bin.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/mkdirp/bin/cmd.js b/deps/npm/node_modules/mkdirp/bin/cmd.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/bin/node-gyp.js b/deps/npm/node_modules/node-gyp/bin/node-gyp.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/gyp b/deps/npm/node_modules/node-gyp/gyp/gyp old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/gyp.bat b/deps/npm/node_modules/node-gyp/gyp/gyp.bat old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/gyp_main.py b/deps/npm/node_modules/node-gyp/gyp/gyp_main.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/test_gyp.py b/deps/npm/node_modules/node-gyp/gyp/test_gyp.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py b/deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py b/deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py b/deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py b/deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js b/deps/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/node_modules/which/bin/node-which b/deps/npm/node_modules/node-gyp/node_modules/which/bin/node-which old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/update-gyp.py b/deps/npm/node_modules/node-gyp/update-gyp.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/nopt/bin/nopt.js b/deps/npm/node_modules/nopt/bin/nopt.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/pacote/lib/bin.js b/deps/npm/node_modules/pacote/lib/bin.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js b/deps/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/rimraf/bin.js b/deps/npm/node_modules/rimraf/bin.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/semver/bin/semver.js b/deps/npm/node_modules/semver/bin/semver.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/sigstore/bin/sigstore.js b/deps/npm/node_modules/sigstore/bin/sigstore.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/which/bin/which.js b/deps/npm/node_modules/which/bin/which.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wide-align/LICENSE b/deps/npm/node_modules/wide-align/LICENSE old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wide-align/align.js b/deps/npm/node_modules/wide-align/align.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wide-align/package.json b/deps/npm/node_modules/wide-align/package.json old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wrap-ansi-cjs/index.js b/deps/npm/node_modules/wrap-ansi-cjs/index.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wrap-ansi/index.js b/deps/npm/node_modules/wrap-ansi/index.js old mode 100644 new mode 100755 diff --git a/deps/openssl/config/fake_gcc.pl b/deps/openssl/config/fake_gcc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/config/generate_gypi.pl b/deps/openssl/config/generate_gypi.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/config/generate_headers.pl b/deps/openssl/config/generate_headers.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/Configure b/deps/openssl/openssl/Configure old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/apps/insta.ca.crt b/deps/openssl/openssl/apps/insta.ca.crt new file mode 100644 index 0000000000000000000000000000000000000000..6aea6d4f9794cdfb0900a3f0aba6f67b5221fde0 Binary files /dev/null and b/deps/openssl/openssl/apps/insta.ca.crt differ diff --git a/deps/openssl/openssl/config b/deps/openssl/openssl/config old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-586.pl b/deps/openssl/openssl/crypto/aes/asm/aes-586.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl b/deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/aes/asm/aes-x86_64.pl b/deps/openssl/openssl/crypto/aes/asm/aes-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/aes/asm/aesp8-ppc.pl b/deps/openssl/openssl/crypto/aes/asm/aesp8-ppc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/aes/asm/aesv8-armx.pl b/deps/openssl/openssl/crypto/aes/asm/aesv8-armx.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/aes/asm/vpaes-armv8.pl b/deps/openssl/openssl/crypto/aes/asm/vpaes-armv8.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/arm64cpuid.pl b/deps/openssl/openssl/crypto/arm64cpuid.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/armv8-mont.pl b/deps/openssl/openssl/crypto/bn/asm/armv8-mont.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/ppc64-mont-fixed.pl b/deps/openssl/openssl/crypto/bn/asm/ppc64-mont-fixed.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/rsaz-avx2.pl b/deps/openssl/openssl/crypto/bn/asm/rsaz-avx2.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/rsaz-x86_64.pl b/deps/openssl/openssl/crypto/bn/asm/rsaz-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/sparct4-mont.pl b/deps/openssl/openssl/crypto/bn/asm/sparct4-mont.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/sparcv9a-mont.pl b/deps/openssl/openssl/crypto/bn/asm/sparcv9a-mont.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/x86-mont.pl b/deps/openssl/openssl/crypto/bn/asm/x86-mont.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/x86_64-mont.pl b/deps/openssl/openssl/crypto/bn/asm/x86_64-mont.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/bn/asm/x86_64-mont5.pl b/deps/openssl/openssl/crypto/bn/asm/x86_64-mont5.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-armv4.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-armv4.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-armv8.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-armv8.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-c64xplus.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-c64xplus.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-ppc.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-ppc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-s390x.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-s390x.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-x86.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-x86.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/chacha/asm/chacha-x86_64.pl b/deps/openssl/openssl/crypto/chacha/asm/chacha-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistp521-ppc64.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistp521-ppc64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl b/deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ec/asm/x25519-ppc64.pl b/deps/openssl/openssl/crypto/ec/asm/x25519-ppc64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ec/asm/x25519-x86_64.pl b/deps/openssl/openssl/crypto/ec/asm/x25519-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/md5/asm/md5-x86_64.pl b/deps/openssl/openssl/crypto/md5/asm/md5-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/modes/asm/aes-gcm-armv8_64.pl b/deps/openssl/openssl/crypto/modes/asm/aes-gcm-armv8_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/modes/asm/ghash-ia64.pl b/deps/openssl/openssl/crypto/modes/asm/ghash-ia64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/modes/asm/ghashp8-ppc.pl b/deps/openssl/openssl/crypto/modes/asm/ghashp8-ppc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/perlasm/arm-xlate.pl b/deps/openssl/openssl/crypto/perlasm/arm-xlate.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/perlasm/ppc-xlate.pl b/deps/openssl/openssl/crypto/perlasm/ppc-xlate.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/perlasm/x86_64-xlate.pl b/deps/openssl/openssl/crypto/perlasm/x86_64-xlate.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv4.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv4.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv8.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv8.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-c64xplus.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-c64xplus.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-mips.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-mips.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppc.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-s390x.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-s390x.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86_64.pl b/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/ppccpuid.pl b/deps/openssl/openssl/crypto/ppccpuid.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/rc4/asm/rc4-x86_64.pl b/deps/openssl/openssl/crypto/rc4/asm/rc4-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/s390xcpuid.pl b/deps/openssl/openssl/crypto/s390xcpuid.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv4.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv4.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv8.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-armv8.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx2.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx2.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512vl.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512vl.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-c64x.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-c64x.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-mmx.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-mmx.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-ppc64.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-ppc64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-s390x.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-s390x.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600-x86_64.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/keccak1600p8-ppc.pl b/deps/openssl/openssl/crypto/sha/asm/keccak1600p8-ppc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-ppc.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-ppc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/sha1-x86_64.pl b/deps/openssl/openssl/crypto/sha/asm/sha1-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-ia64.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-ia64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-parisc.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-parisc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-ppc.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-ppc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl b/deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/crypto/sha/asm/sha512p8-ppc.pl b/deps/openssl/openssl/crypto/sha/asm/sha512p8-ppc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/basic.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/basic.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/broken.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/broken.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/delimiters.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/delimiters.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/error.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/error.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/exported.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/exported.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/hash.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/hash.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/inline-comment.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/inline-comment.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/nested-tags.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/nested-tags.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/ofh.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/ofh.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/out.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/out.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/prepend.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/prepend.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/preprocess.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/preprocess.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/rt29928.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/rt29928.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe2.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe2.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe3.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe3.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/strict.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/strict.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/taint.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/taint.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/template-encoding.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/template-encoding.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/external/perl/Text-Template-1.56/t/warnings.t b/deps/openssl/openssl/external/perl/Text-Template-1.56/t/warnings.t old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/fuzz/helper.py b/deps/openssl/openssl/fuzz/helper.py old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/fuzz/mkfuzzoids.pl b/deps/openssl/openssl/fuzz/mkfuzzoids.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/ms/cmp.pl b/deps/openssl/openssl/ms/cmp.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/ms/uplink-common.pl b/deps/openssl/openssl/ms/uplink-common.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/ms/uplink-ia64.pl b/deps/openssl/openssl/ms/uplink-ia64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/ms/uplink-x86.pl b/deps/openssl/openssl/ms/uplink-x86.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/ms/uplink-x86_64.pl b/deps/openssl/openssl/ms/uplink-x86_64.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/c-compress-test.pl b/deps/openssl/openssl/util/c-compress-test.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/check-format.pl b/deps/openssl/openssl/util/check-format.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/check-malloc-errs b/deps/openssl/openssl/util/check-malloc-errs old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/ck_errf.pl b/deps/openssl/openssl/util/ck_errf.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/err-to-raise b/deps/openssl/openssl/util/err-to-raise old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/find-doc-nits b/deps/openssl/openssl/util/find-doc-nits old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/find-unused-errs b/deps/openssl/openssl/util/find-unused-errs old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/fips-checksums.sh b/deps/openssl/openssl/util/fips-checksums.sh old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/fix-includes b/deps/openssl/openssl/util/fix-includes old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/lang-compress.pl b/deps/openssl/openssl/util/lang-compress.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/merge-err-lines b/deps/openssl/openssl/util/merge-err-lines old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/mkbuildinf.pl b/deps/openssl/openssl/util/mkbuildinf.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/mkdef.pl b/deps/openssl/openssl/util/mkdef.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/mkdir-p.pl b/deps/openssl/openssl/util/mkdir-p.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/mkerr.pl b/deps/openssl/openssl/util/mkerr.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/mkpod2html.pl b/deps/openssl/openssl/util/mkpod2html.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/mkrc.pl b/deps/openssl/openssl/util/mkrc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/opensslwrap.sh b/deps/openssl/openssl/util/opensslwrap.sh old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/perl/OpenSSL/config.pm b/deps/openssl/openssl/util/perl/OpenSSL/config.pm old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/shlib_wrap.sh.in b/deps/openssl/openssl/util/shlib_wrap.sh.in old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/withlibctx.pl b/deps/openssl/openssl/util/withlibctx.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/util/write-man-symlinks b/deps/openssl/openssl/util/write-man-symlinks old mode 100644 new mode 100755 diff --git a/deps/undici/src/lib/llhttp/llhttp.wasm b/deps/undici/src/lib/llhttp/llhttp.wasm old mode 100644 new mode 100755 diff --git a/deps/undici/src/lib/llhttp/llhttp_simd.wasm b/deps/undici/src/lib/llhttp/llhttp_simd.wasm old mode 100644 new mode 100755 diff --git a/deps/uv/autogen.sh b/deps/uv/autogen.sh old mode 100644 new mode 100755 diff --git a/deps/uv/img/banner.png b/deps/uv/img/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..7187daa2e574daa7aa84d81fbddcf6ec3e571d24 Binary files /dev/null and b/deps/uv/img/banner.png differ diff --git a/deps/v8/gni/protoc.py b/deps/v8/gni/protoc.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/check_protocol_compatibility.py b/deps/v8/third_party/inspector_protocol/check_protocol_compatibility.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/code_generator.py b/deps/v8/third_party/inspector_protocol/code_generator.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/concatenate_protocols.py b/deps/v8/third_party/inspector_protocol/concatenate_protocols.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/convert_protocol_to_json.py b/deps/v8/third_party/inspector_protocol/convert_protocol_to_json.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/roll.py b/deps/v8/third_party/inspector_protocol/roll.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/ittapi/buildall.py b/deps/v8/third_party/ittapi/buildall.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/markupsafe/get_markupsafe.sh b/deps/v8/third_party/markupsafe/get_markupsafe.sh old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/test262-harness/src/test262.py b/deps/v8/third_party/test262-harness/src/test262.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/wasm-api/example/callback.wasm b/deps/v8/third_party/wasm-api/example/callback.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7e00b580142c1e8171c18577fca06d1a39f2b48c Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/callback.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/finalize.wasm b/deps/v8/third_party/wasm-api/example/finalize.wasm new file mode 100644 index 0000000000000000000000000000000000000000..74f9c56624e54ab99d9dad2a967dad93ed04b9f7 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/finalize.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/global.wasm b/deps/v8/third_party/wasm-api/example/global.wasm new file mode 100644 index 0000000000000000000000000000000000000000..0e76863278e62f064730544392e92c0194097134 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/global.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/hello.wasm b/deps/v8/third_party/wasm-api/example/hello.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2207c03eead3f45f13dfa58b73c6bce27716bffa Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/hello.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/hostref.wasm b/deps/v8/third_party/wasm-api/example/hostref.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7bfc7288e9b46fa466a6ad202b8963fdfa1e6d15 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/hostref.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/memory.wasm b/deps/v8/third_party/wasm-api/example/memory.wasm new file mode 100644 index 0000000000000000000000000000000000000000..6f6518b187f78f315158969663cd0ee139a09b37 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/memory.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/multi.wasm b/deps/v8/third_party/wasm-api/example/multi.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bff0143f3f1608cff4eeb2e65026914eecc5b0d6 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/multi.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/reflect.wasm b/deps/v8/third_party/wasm-api/example/reflect.wasm new file mode 100644 index 0000000000000000000000000000000000000000..15a68fe8f79448b2c3a38778b45e953a2e3d5816 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/reflect.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/serialize.wasm b/deps/v8/third_party/wasm-api/example/serialize.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2207c03eead3f45f13dfa58b73c6bce27716bffa Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/serialize.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/start.wasm b/deps/v8/third_party/wasm-api/example/start.wasm new file mode 100644 index 0000000000000000000000000000000000000000..90cba2107d6ea9405de046741cb60db864d9a847 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/start.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/table.wasm b/deps/v8/third_party/wasm-api/example/table.wasm new file mode 100644 index 0000000000000000000000000000000000000000..cdc0d8c35d65a3b38deaa4c8a8effe740f80bf22 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/table.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/threads.wasm b/deps/v8/third_party/wasm-api/example/threads.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9a5c19d0acded079686e43604738c0b7df8e5749 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/threads.wasm differ diff --git a/deps/v8/third_party/wasm-api/example/trap.wasm b/deps/v8/third_party/wasm-api/example/trap.wasm new file mode 100644 index 0000000000000000000000000000000000000000..eeed14c8973a1e6b03f5a352e3bff06bd409a9b3 Binary files /dev/null and b/deps/v8/third_party/wasm-api/example/trap.wasm differ diff --git a/deps/v8/tools/adb-d8.py b/deps/v8/tools/adb-d8.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/android-build.sh b/deps/v8/tools/android-build.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/android-ll-prof.sh b/deps/v8/tools/android-ll-prof.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/android-run.py b/deps/v8/tools/android-run.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/android-sync.sh b/deps/v8/tools/android-sync.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/avg.py b/deps/v8/tools/avg.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/bash-completion.sh b/deps/v8/tools/bash-completion.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/bigint-tester.py b/deps/v8/tools/bigint-tester.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/callstats-from-telemetry.sh b/deps/v8/tools/callstats-from-telemetry.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/callstats.py b/deps/v8/tools/callstats.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/check-inline-includes.sh b/deps/v8/tools/check-inline-includes.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/check-static-initializers.sh b/deps/v8/tools/check-static-initializers.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/check-unused-bailouts.sh b/deps/v8/tools/check-unused-bailouts.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/check-unused-symbols.sh b/deps/v8/tools/check-unused-symbols.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/chrome/linux-perf-renderer-cmd.sh b/deps/v8/tools/chrome/linux-perf-renderer-cmd.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/chrome/linux_perf.py b/deps/v8/tools/chrome/linux_perf.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/clusterfuzz/foozzie/v8_foozzie.py b/deps/v8/tools/clusterfuzz/foozzie/v8_foozzie.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/clusterfuzz/foozzie/v8_foozzie_test.py b/deps/v8/tools/clusterfuzz/foozzie/v8_foozzie_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/clusterfuzz/js_fuzzer/package.sh b/deps/v8/tools/clusterfuzz/js_fuzzer/package.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/collect_deprecation_stats.sh b/deps/v8/tools/collect_deprecation_stats.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/cppgc/export_to_github.sh b/deps/v8/tools/cppgc/export_to_github.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/cppgc/gen_cmake.py b/deps/v8/tools/cppgc/gen_cmake.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/cppgc/gen_cmake_test.py b/deps/v8/tools/cppgc/gen_cmake_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/cppgc/test_cmake.sh b/deps/v8/tools/cppgc/test_cmake.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/cpu.sh b/deps/v8/tools/cpu.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/cross_build_gcc.sh b/deps/v8/tools/cross_build_gcc.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/dev/gen-tags.py b/deps/v8/tools/dev/gen-tags.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/dev/gm.py b/deps/v8/tools/dev/gm.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/dev/update-compile-commands.py b/deps/v8/tools/dev/update-compile-commands.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/dev/update-vscode.sh b/deps/v8/tools/dev/update-vscode.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/dev/v8gen.py b/deps/v8/tools/dev/v8gen.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/draw_instruction_graph.sh b/deps/v8/tools/draw_instruction_graph.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/eval_gc_nvp.py b/deps/v8/tools/eval_gc_nvp.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/eval_gc_time.sh b/deps/v8/tools/eval_gc_time.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/find-builtin b/deps/v8/tools/find-builtin old mode 100644 new mode 100755 diff --git a/deps/v8/tools/find-commit-for-patch.py b/deps/v8/tools/find-commit-for-patch.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/freebsd-tick-processor b/deps/v8/tools/freebsd-tick-processor old mode 100644 new mode 100755 diff --git a/deps/v8/tools/fuzz-harness.sh b/deps/v8/tools/fuzz-harness.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/gc-nvp-to-csv.py b/deps/v8/tools/gc-nvp-to-csv.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/gc-nvp-trace-processor.py b/deps/v8/tools/gc-nvp-trace-processor.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/gcmole/bootstrap.sh b/deps/v8/tools/gcmole/bootstrap.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/gcmole/gcmole.py b/deps/v8/tools/gcmole/gcmole.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/gcmole/package.sh b/deps/v8/tools/gcmole/package.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/gcmole/run-gcmole.py b/deps/v8/tools/gcmole/run-gcmole.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/gen-keywords-gen-h.py b/deps/v8/tools/gen-keywords-gen-h.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/gen-v8-gn.py b/deps/v8/tools/gen-v8-gn.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/generate-builtins-tests.py b/deps/v8/tools/generate-builtins-tests.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/generate-header-include-checks.py b/deps/v8/tools/generate-header-include-checks.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/generate-runtime-call-stats.py b/deps/v8/tools/generate-runtime-call-stats.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/generate_shim_headers/generate_shim_headers.py b/deps/v8/tools/generate_shim_headers/generate_shim_headers.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/get_landmines.py b/deps/v8/tools/get_landmines.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/grokdump.py b/deps/v8/tools/grokdump.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/ic-processor b/deps/v8/tools/ic-processor old mode 100644 new mode 100755 diff --git a/deps/v8/tools/ignition/bytecode_dispatches_report.py b/deps/v8/tools/ignition/bytecode_dispatches_report.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/ignition/linux_perf_bytecode_annotate.py b/deps/v8/tools/ignition/linux_perf_bytecode_annotate.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/ignition/linux_perf_report.py b/deps/v8/tools/ignition/linux_perf_report.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/jsfunfuzz/BUILD.gn b/deps/v8/tools/jsfunfuzz/BUILD.gn index 37be1f5289cf9e20b21b9c76ade1239dca85a79d..3c40460f8db743df3d049a531c3ec096dce0ec14 100644 --- a/deps/v8/tools/jsfunfuzz/BUILD.gn +++ b/deps/v8/tools/jsfunfuzz/BUILD.gn @@ -7,7 +7,9 @@ import("../../gni/v8.gni") group("v8_jsfunfuzz") { testonly = true - data_deps = [ "../..:d8" ] + data_deps = [ + "../..:d8", + ] data = [ # Grab current directory. This avoids adding logic for checking the diff --git a/deps/v8/tools/jsfunfuzz/fuzz-harness.sh b/deps/v8/tools/jsfunfuzz/fuzz-harness.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/link_clicker.extension/icon.png b/deps/v8/tools/link_clicker.extension/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce0ca3ac94bd7fc42bdda477bf8f1a0bfbded2d Binary files /dev/null and b/deps/v8/tools/link_clicker.extension/icon.png differ diff --git a/deps/v8/tools/linux-tick-processor b/deps/v8/tools/linux-tick-processor old mode 100644 new mode 100755 diff --git a/deps/v8/tools/ll_prof.py b/deps/v8/tools/ll_prof.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/locs.py b/deps/v8/tools/locs.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/mac-nm b/deps/v8/tools/mac-nm old mode 100644 new mode 100755 diff --git a/deps/v8/tools/mac-tick-processor b/deps/v8/tools/mac-tick-processor old mode 100644 new mode 100755 diff --git a/deps/v8/tools/mb/mb b/deps/v8/tools/mb/mb old mode 100644 new mode 100755 diff --git a/deps/v8/tools/mb/mb.bat b/deps/v8/tools/mb/mb.bat old mode 100644 new mode 100755 diff --git a/deps/v8/tools/mb/mb.py b/deps/v8/tools/mb/mb.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/mb/mb_test.py b/deps/v8/tools/mb/mb_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/objdump-v8 b/deps/v8/tools/objdump-v8 old mode 100644 new mode 100755 diff --git a/deps/v8/tools/parse-processor b/deps/v8/tools/parse-processor old mode 100644 new mode 100755 diff --git a/deps/v8/tools/perf-compare.py b/deps/v8/tools/perf-compare.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/process-wasm-compilation-times.py b/deps/v8/tools/process-wasm-compilation-times.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/regexp-sequences.py b/deps/v8/tools/regexp-sequences.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/auto_push.py b/deps/v8/tools/release/auto_push.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/auto_roll.py b/deps/v8/tools/release/auto_roll.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/create_release.py b/deps/v8/tools/release/create_release.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/filter_build_files.py b/deps/v8/tools/release/filter_build_files.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/list_deprecated.py b/deps/v8/tools/release/list_deprecated.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/merge_to_branch.py b/deps/v8/tools/release/merge_to_branch.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/mergeinfo.py b/deps/v8/tools/release/mergeinfo.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/roll_merge.py b/deps/v8/tools/release/roll_merge.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/script_test.py b/deps/v8/tools/release/script_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/test_mergeinfo.py b/deps/v8/tools/release/test_mergeinfo.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/release/test_scripts.py b/deps/v8/tools/release/test_scripts.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/run-clang-tidy.py b/deps/v8/tools/run-clang-tidy.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/run-llprof.sh b/deps/v8/tools/run-llprof.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/run-num-fuzzer.py b/deps/v8/tools/run-num-fuzzer.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/run-perf.sh b/deps/v8/tools/run-perf.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/run-wasm-api-tests.py b/deps/v8/tools/run-wasm-api-tests.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/run.py b/deps/v8/tools/run.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/sanitizers/sancov_formatter.py b/deps/v8/tools/sanitizers/sancov_formatter.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/sanitizers/sancov_merger.py b/deps/v8/tools/sanitizers/sancov_merger.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/sanitizers/sanitize_pcs.py b/deps/v8/tools/sanitizers/sanitize_pcs.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/stats-viewer.py b/deps/v8/tools/stats-viewer.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/testrunner/local/pool_test.py b/deps/v8/tools/testrunner/local/pool_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/testrunner/local/statusfile_test.py b/deps/v8/tools/testrunner/local/statusfile_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/testrunner/local/testsuite_test.py b/deps/v8/tools/testrunner/local/testsuite_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/testrunner/num_fuzzer.py b/deps/v8/tools/testrunner/num_fuzzer.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/testrunner/standard_runner.py b/deps/v8/tools/testrunner/standard_runner.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/testrunner/testproc/shard_test.py b/deps/v8/tools/testrunner/testproc/shard_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/testrunner/testproc/variant_test.py b/deps/v8/tools/testrunner/testproc/variant_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/torque/format-torque.py b/deps/v8/tools/torque/format-torque.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/try_perf.py b/deps/v8/tools/try_perf.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/turbolizer/deploy.sh b/deps/v8/tools/turbolizer/deploy.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/turbolizer/down-arrow.png b/deps/v8/tools/turbolizer/down-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..39339f289a30b9b35795b84a95d9af3dd0b4b31d Binary files /dev/null and b/deps/v8/tools/turbolizer/down-arrow.png differ diff --git a/deps/v8/tools/turbolizer/img/hide-selected-icon.png b/deps/v8/tools/turbolizer/img/hide-selected-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..207cdbb89aa4a22ec9533b8a08a0a4499fd0fcbb Binary files /dev/null and b/deps/v8/tools/turbolizer/img/hide-selected-icon.png differ diff --git a/deps/v8/tools/turbolizer/img/hide-unselected-icon.png b/deps/v8/tools/turbolizer/img/hide-unselected-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..15617b0939b0313687036e9926d60f0a15c8c97b Binary files /dev/null and b/deps/v8/tools/turbolizer/img/hide-unselected-icon.png differ diff --git a/deps/v8/tools/turbolizer/img/layout-icon.png b/deps/v8/tools/turbolizer/img/layout-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..95a517afa64be5312ac817977ba8fdbd44632940 Binary files /dev/null and b/deps/v8/tools/turbolizer/img/layout-icon.png differ diff --git a/deps/v8/tools/turbolizer/img/show-all-icon.png b/deps/v8/tools/turbolizer/img/show-all-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..50fc845f017e18b55f75563aaf991077ae1cb128 Binary files /dev/null and b/deps/v8/tools/turbolizer/img/show-all-icon.png differ diff --git a/deps/v8/tools/turbolizer/img/show-control-icon.png b/deps/v8/tools/turbolizer/img/show-control-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..4238bee9cc4c1a30bf16b3cc9fe60c7bfc18dd7b Binary files /dev/null and b/deps/v8/tools/turbolizer/img/show-control-icon.png differ diff --git a/deps/v8/tools/turbolizer/img/toggle-hide-dead-icon.png b/deps/v8/tools/turbolizer/img/toggle-hide-dead-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ac72bb93e829229c7eb23acc841b16cfa0407d30 Binary files /dev/null and b/deps/v8/tools/turbolizer/img/toggle-hide-dead-icon.png differ diff --git a/deps/v8/tools/turbolizer/img/toggle-types-icon.png b/deps/v8/tools/turbolizer/img/toggle-types-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8fead8f079da0cca01408530974fa72ee101f46a Binary files /dev/null and b/deps/v8/tools/turbolizer/img/toggle-types-icon.png differ diff --git a/deps/v8/tools/turbolizer/img/zoom-selection-icon.png b/deps/v8/tools/turbolizer/img/zoom-selection-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..12dc3e34691d589b0ec7087fa1cde4c9be944217 Binary files /dev/null and b/deps/v8/tools/turbolizer/img/zoom-selection-icon.png differ diff --git a/deps/v8/tools/turbolizer/left-arrow.png b/deps/v8/tools/turbolizer/left-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..fc0603e8c3ac84efb2ee947ba4f368412ec709a0 Binary files /dev/null and b/deps/v8/tools/turbolizer/left-arrow.png differ diff --git a/deps/v8/tools/turbolizer/right-arrow.png b/deps/v8/tools/turbolizer/right-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3964346f6e4b5875905b9afbcb73701cda5433 Binary files /dev/null and b/deps/v8/tools/turbolizer/right-arrow.png differ diff --git a/deps/v8/tools/turbolizer/search2.png b/deps/v8/tools/turbolizer/search2.png new file mode 100644 index 0000000000000000000000000000000000000000..88dd193809d05d3cde7b69fd40063dd9b2f3410d Binary files /dev/null and b/deps/v8/tools/turbolizer/search2.png differ diff --git a/deps/v8/tools/turbolizer/turbolizer.png b/deps/v8/tools/turbolizer/turbolizer.png new file mode 100644 index 0000000000000000000000000000000000000000..1af1a49b95330ee8d045b11c0f666d5f0c24a8e8 Binary files /dev/null and b/deps/v8/tools/turbolizer/turbolizer.png differ diff --git a/deps/v8/tools/turbolizer/up-arrow.png b/deps/v8/tools/turbolizer/up-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..68cb14e80b33718a63472bb9941981216391feae Binary files /dev/null and b/deps/v8/tools/turbolizer/up-arrow.png differ diff --git a/deps/v8/tools/turbolizer/upload-icon.png b/deps/v8/tools/turbolizer/upload-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1a289b76daca2a7437a459b9c6266ad1eaf943b Binary files /dev/null and b/deps/v8/tools/turbolizer/upload-icon.png differ diff --git a/deps/v8/tools/unittests/predictable_wrapper_test.py b/deps/v8/tools/unittests/predictable_wrapper_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/unittests/run_perf_test.py b/deps/v8/tools/unittests/run_perf_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/unittests/run_tests_test.py b/deps/v8/tools/unittests/run_tests_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/unittests/v8_presubmit_test.py b/deps/v8/tools/unittests/v8_presubmit_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/update-object-macros-undef.py b/deps/v8/tools/update-object-macros-undef.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/v8_presubmit.py b/deps/v8/tools/v8_presubmit.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm-compilation-hints/inject-compilation-hints.py b/deps/v8/tools/wasm-compilation-hints/inject-compilation-hints.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm-compilation-hints/wasm-objdump-compilation-hints.py b/deps/v8/tools/wasm-compilation-hints/wasm-objdump-compilation-hints.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm/code-size-factors.py b/deps/v8/tools/wasm/code-size-factors.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm/update-wasm-fuzzers.sh b/deps/v8/tools/wasm/update-wasm-fuzzers.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm/update-wasm-spec-tests.sh b/deps/v8/tools/wasm/update-wasm-spec-tests.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/windows-tick-processor.bat b/deps/v8/tools/windows-tick-processor.bat old mode 100644 new mode 100755 diff --git a/deps/zlib/google/test/data/create_test_zip.sh b/deps/zlib/google/test/data/create_test_zip.sh old mode 100644 new mode 100755 diff --git a/src/.clang-tidy b/src/.clang-tidy new file mode 100644 index 0000000000000000000000000000000000000000..1713161c8ca9e03a1077334254b753ca4f46699a --- /dev/null +++ b/src/.clang-tidy @@ -0,0 +1,27 @@ +--- +Checks: '-*, + # modernize-use-auto, + # modernize-use-equals-delete, + modernize-deprecated-headers, + modernize-make-unique, + modernize-make-shared, + modernize-redundant-void-arg, + modernize-replace-random-shuffle, + modernize-shrink-to-fit, + modernize-use-bool-literals, + modernize-use-emplace, + modernize-use-equals-default, + modernize-use-nullptr, + modernize-use-override, + performance-faster-string-find, + # performance-unnecessary-value-param, see https://github.com/nodejs/node/pull/26042 + readability-delete-null-pointer, ' +WarningsAsErrors: '' +HeaderFilterRegex: '' +AnalyzeTemporaryDtors: false +FormatStyle: none +User: nodejs/cpp +CheckOptions: + - key: google-readability-braces-around-statements.ShortStatementLines + value: 1 +... diff --git a/src/js_native_api.h b/src/js_native_api.h index e804d1d45d236519d248e3d40fa0a6c2a6d378ec..3aa0ee5c1c5c5c643c6d620d3f5a9b45c689ad97 100644 --- a/src/js_native_api.h +++ b/src/js_native_api.h @@ -2,8 +2,8 @@ #define SRC_JS_NATIVE_API_H_ // This file needs to be compatible with C compilers. -#include // NOLINT(modernize-deprecated-headers) #include // NOLINT(modernize-deprecated-headers) +#include // NOLINT(modernize-deprecated-headers) // Use INT_MAX, this should only be consumed by the pre-processor anyway. #define NAPI_VERSION_EXPERIMENTAL 2147483647 @@ -26,14 +26,15 @@ // If you need __declspec(dllimport), either include instead, or // define NAPI_EXTERN as __declspec(dllimport) on the compiler's command line. #ifndef NAPI_EXTERN - #ifdef _WIN32 - #define NAPI_EXTERN __declspec(dllexport) - #elif defined(__wasm32__) - #define NAPI_EXTERN __attribute__((visibility("default"))) \ - __attribute__((__import_module__("napi"))) - #else - #define NAPI_EXTERN __attribute__((visibility("default"))) - #endif +#ifdef _WIN32 +#define NAPI_EXTERN __declspec(dllexport) +#elif defined(__wasm32__) +#define NAPI_EXTERN \ + __attribute__((visibility("default"))) \ + __attribute__((__import_module__("napi"))) +#else +#define NAPI_EXTERN __attribute__((visibility("default"))) +#endif #endif #define NAPI_AUTO_LENGTH SIZE_MAX @@ -48,222 +49,246 @@ EXTERN_C_START -NAPI_EXTERN napi_status -napi_get_last_error_info(napi_env env, - const napi_extended_error_info** result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_last_error_info(napi_env env, const napi_extended_error_info** result); // Getters for defined singletons -NAPI_EXTERN napi_status napi_get_undefined(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_get_null(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_get_global(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_get_boolean(napi_env env, - bool value, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_null(napi_env env, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_global(napi_env env, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_boolean(napi_env env, + bool value, + napi_value* result); // Methods to create Primitive types/Objects -NAPI_EXTERN napi_status napi_create_object(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_create_array(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_create_array_with_length(napi_env env, - size_t length, +NAPI_EXTERN napi_status NAPI_CDECL napi_create_object(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_create_double(napi_env env, - double value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_int32(napi_env env, - int32_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_uint32(napi_env env, - uint32_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_int64(napi_env env, - int64_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_string_latin1(napi_env env, - const char* str, - size_t length, - napi_value* result); -NAPI_EXTERN napi_status napi_create_string_utf8(napi_env env, - const char* str, - size_t length, - napi_value* result); -NAPI_EXTERN napi_status napi_create_string_utf16(napi_env env, - const char16_t* str, - size_t length, - napi_value* result); -NAPI_EXTERN napi_status napi_create_symbol(napi_env env, - napi_value description, - napi_value* result); -NAPI_EXTERN napi_status napi_create_function(napi_env env, - const char* utf8name, - size_t length, - napi_callback cb, - void* data, - napi_value* result); -NAPI_EXTERN napi_status napi_create_error(napi_env env, - napi_value code, - napi_value msg, - napi_value* result); -NAPI_EXTERN napi_status napi_create_type_error(napi_env env, - napi_value code, - napi_value msg, - napi_value* result); -NAPI_EXTERN napi_status napi_create_range_error(napi_env env, - napi_value code, - napi_value msg, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_array(napi_env env, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_array_with_length(napi_env env, size_t length, napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_double(napi_env env, + double value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_int32(napi_env env, + int32_t value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_uint32(napi_env env, + uint32_t value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_int64(napi_env env, + int64_t value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_latin1( + napi_env env, const char* str, size_t length, napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf8(napi_env env, + const char* str, + size_t length, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env, + const char16_t* str, + size_t length, + napi_value* result); +#ifdef NAPI_EXPERIMENTAL +NAPI_EXTERN napi_status NAPI_CDECL +node_api_create_external_string_latin1(napi_env env, + char* str, + size_t length, + napi_finalize finalize_callback, + void* finalize_hint, + napi_value* result, + bool* copied); +NAPI_EXTERN napi_status NAPI_CDECL +node_api_create_external_string_utf16(napi_env env, + char16_t* str, + size_t length, + napi_finalize finalize_callback, + void* finalize_hint, + napi_value* result, + bool* copied); +#endif // NAPI_EXPERIMENTAL +NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env, + napi_value description, + napi_value* result); +#if NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL +node_api_symbol_for(napi_env env, + const char* utf8description, + size_t length, + napi_value* result); +#endif // NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL napi_create_function(napi_env env, + const char* utf8name, + size_t length, + napi_callback cb, + void* data, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_error(napi_env env, + napi_value code, + napi_value msg, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_type_error(napi_env env, + napi_value code, + napi_value msg, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_range_error(napi_env env, + napi_value code, + napi_value msg, + napi_value* result); +#if NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL node_api_create_syntax_error( + napi_env env, napi_value code, napi_value msg, napi_value* result); +#endif // NAPI_VERSION >= 9 // Methods to get the native napi_value from Primitive type -NAPI_EXTERN napi_status napi_typeof(napi_env env, - napi_value value, - napi_valuetype* result); -NAPI_EXTERN napi_status napi_get_value_double(napi_env env, - napi_value value, - double* result); -NAPI_EXTERN napi_status napi_get_value_int32(napi_env env, - napi_value value, - int32_t* result); -NAPI_EXTERN napi_status napi_get_value_uint32(napi_env env, - napi_value value, - uint32_t* result); -NAPI_EXTERN napi_status napi_get_value_int64(napi_env env, - napi_value value, - int64_t* result); -NAPI_EXTERN napi_status napi_get_value_bool(napi_env env, - napi_value value, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_typeof(napi_env env, + napi_value value, + napi_valuetype* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_double(napi_env env, + napi_value value, + double* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_int32(napi_env env, + napi_value value, + int32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_uint32(napi_env env, + napi_value value, + uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_int64(napi_env env, + napi_value value, + int64_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bool(napi_env env, + napi_value value, + bool* result); // Copies LATIN-1 encoded bytes from a string into a buffer. -NAPI_EXTERN napi_status napi_get_value_string_latin1(napi_env env, - napi_value value, - char* buf, - size_t bufsize, - size_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_latin1( + napi_env env, napi_value value, char* buf, size_t bufsize, size_t* result); // Copies UTF-8 encoded bytes from a string into a buffer. -NAPI_EXTERN napi_status napi_get_value_string_utf8(napi_env env, - napi_value value, - char* buf, - size_t bufsize, - size_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_utf8( + napi_env env, napi_value value, char* buf, size_t bufsize, size_t* result); // Copies UTF-16 encoded bytes from a string into a buffer. -NAPI_EXTERN napi_status napi_get_value_string_utf16(napi_env env, - napi_value value, - char16_t* buf, - size_t bufsize, - size_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_utf16(napi_env env, + napi_value value, + char16_t* buf, + size_t bufsize, + size_t* result); // Methods to coerce values // These APIs may execute user scripts -NAPI_EXTERN napi_status napi_coerce_to_bool(napi_env env, - napi_value value, - napi_value* result); -NAPI_EXTERN napi_status napi_coerce_to_number(napi_env env, - napi_value value, - napi_value* result); -NAPI_EXTERN napi_status napi_coerce_to_object(napi_env env, - napi_value value, - napi_value* result); -NAPI_EXTERN napi_status napi_coerce_to_string(napi_env env, - napi_value value, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_bool(napi_env env, + napi_value value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_number(napi_env env, + napi_value value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_object(napi_env env, + napi_value value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_string(napi_env env, + napi_value value, + napi_value* result); // Methods to work with Objects -NAPI_EXTERN napi_status napi_get_prototype(napi_env env, - napi_value object, - napi_value* result); -NAPI_EXTERN napi_status napi_get_property_names(napi_env env, - napi_value object, - napi_value* result); -NAPI_EXTERN napi_status napi_set_property(napi_env env, - napi_value object, - napi_value key, - napi_value value); -NAPI_EXTERN napi_status napi_has_property(napi_env env, - napi_value object, - napi_value key, - bool* result); -NAPI_EXTERN napi_status napi_get_property(napi_env env, - napi_value object, - napi_value key, - napi_value* result); -NAPI_EXTERN napi_status napi_delete_property(napi_env env, - napi_value object, - napi_value key, - bool* result); -NAPI_EXTERN napi_status napi_has_own_property(napi_env env, - napi_value object, - napi_value key, - bool* result); -NAPI_EXTERN napi_status napi_set_named_property(napi_env env, - napi_value object, - const char* utf8name, - napi_value value); -NAPI_EXTERN napi_status napi_has_named_property(napi_env env, - napi_value object, - const char* utf8name, - bool* result); -NAPI_EXTERN napi_status napi_get_named_property(napi_env env, - napi_value object, - const char* utf8name, - napi_value* result); -NAPI_EXTERN napi_status napi_set_element(napi_env env, - napi_value object, - uint32_t index, - napi_value value); -NAPI_EXTERN napi_status napi_has_element(napi_env env, - napi_value object, - uint32_t index, - bool* result); -NAPI_EXTERN napi_status napi_get_element(napi_env env, - napi_value object, - uint32_t index, - napi_value* result); -NAPI_EXTERN napi_status napi_delete_element(napi_env env, - napi_value object, - uint32_t index, - bool* result); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_get_prototype(napi_env env, + napi_value object, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_property_names(napi_env env, + napi_value object, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_set_property(napi_env env, + napi_value object, + napi_value key, + napi_value value); +NAPI_EXTERN napi_status NAPI_CDECL napi_has_property(napi_env env, + napi_value object, + napi_value key, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_property(napi_env env, + napi_value object, + napi_value key, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_delete_property(napi_env env, + napi_value object, + napi_value key, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_has_own_property(napi_env env, + napi_value object, + napi_value key, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_set_named_property(napi_env env, + napi_value object, + const char* utf8name, + napi_value value); +NAPI_EXTERN napi_status NAPI_CDECL napi_has_named_property(napi_env env, + napi_value object, + const char* utf8name, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_named_property(napi_env env, + napi_value object, + const char* utf8name, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_set_element(napi_env env, + napi_value object, + uint32_t index, + napi_value value); +NAPI_EXTERN napi_status NAPI_CDECL napi_has_element(napi_env env, + napi_value object, + uint32_t index, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_element(napi_env env, + napi_value object, + uint32_t index, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_delete_element(napi_env env, + napi_value object, + uint32_t index, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_define_properties(napi_env env, napi_value object, size_t property_count, const napi_property_descriptor* properties); // Methods to work with Arrays -NAPI_EXTERN napi_status napi_is_array(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_get_array_length(napi_env env, - napi_value value, - uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_array(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_array_length(napi_env env, + napi_value value, + uint32_t* result); // Methods to compare values -NAPI_EXTERN napi_status napi_strict_equals(napi_env env, - napi_value lhs, - napi_value rhs, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_strict_equals(napi_env env, + napi_value lhs, + napi_value rhs, + bool* result); // Methods to work with Functions -NAPI_EXTERN napi_status napi_call_function(napi_env env, - napi_value recv, - napi_value func, - size_t argc, - const napi_value* argv, - napi_value* result); -NAPI_EXTERN napi_status napi_new_instance(napi_env env, - napi_value constructor, - size_t argc, - const napi_value* argv, - napi_value* result); -NAPI_EXTERN napi_status napi_instanceof(napi_env env, - napi_value object, - napi_value constructor, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_call_function(napi_env env, + napi_value recv, + napi_value func, + size_t argc, + const napi_value* argv, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_new_instance(napi_env env, + napi_value constructor, + size_t argc, + const napi_value* argv, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_instanceof(napi_env env, + napi_value object, + napi_value constructor, + bool* result); // Methods to work with napi_callbacks // Gets all callback info in a single call. (Ugly, but faster.) -NAPI_EXTERN napi_status napi_get_cb_info( +NAPI_EXTERN napi_status NAPI_CDECL napi_get_cb_info( napi_env env, // [in] NAPI environment handle napi_callback_info cbinfo, // [in] Opaque callback-info handle size_t* argc, // [in-out] Specifies the size of the provided argv array @@ -272,10 +297,9 @@ NAPI_EXTERN napi_status napi_get_cb_info( napi_value* this_arg, // [out] Receives the JS 'this' arg for the call void** data); // [out] Receives the data pointer for the callback. -NAPI_EXTERN napi_status napi_get_new_target(napi_env env, - napi_callback_info cbinfo, - napi_value* result); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_get_new_target( + napi_env env, napi_callback_info cbinfo, napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_define_class(napi_env env, const char* utf8name, size_t length, @@ -286,232 +310,242 @@ napi_define_class(napi_env env, napi_value* result); // Methods to work with external data objects -NAPI_EXTERN napi_status napi_wrap(napi_env env, - napi_value js_object, - void* native_object, - napi_finalize finalize_cb, - void* finalize_hint, - napi_ref* result); -NAPI_EXTERN napi_status napi_unwrap(napi_env env, - napi_value js_object, - void** result); -NAPI_EXTERN napi_status napi_remove_wrap(napi_env env, - napi_value js_object, - void** result); -NAPI_EXTERN napi_status napi_create_external(napi_env env, - void* data, +NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env, + napi_value js_object, + void* native_object, napi_finalize finalize_cb, void* finalize_hint, - napi_value* result); -NAPI_EXTERN napi_status napi_get_value_external(napi_env env, - napi_value value, - void** result); + napi_ref* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env, + napi_value js_object, + void** result); +NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env, + napi_value js_object, + void** result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_external(napi_env env, + void* data, + napi_finalize finalize_cb, + void* finalize_hint, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env, + napi_value value, + void** result); // Methods to control object lifespan // Set initial_refcount to 0 for a weak reference, >0 for a strong reference. -NAPI_EXTERN napi_status napi_create_reference(napi_env env, - napi_value value, - uint32_t initial_refcount, - napi_ref* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_reference(napi_env env, + napi_value value, + uint32_t initial_refcount, + napi_ref* result); // Deletes a reference. The referenced value is released, and may // be GC'd unless there are other references to it. -NAPI_EXTERN napi_status napi_delete_reference(napi_env env, napi_ref ref); +NAPI_EXTERN napi_status NAPI_CDECL napi_delete_reference(napi_env env, + napi_ref ref); // Increments the reference count, optionally returning the resulting count. // After this call the reference will be a strong reference because its // refcount is >0, and the referenced object is effectively "pinned". // Calling this when the refcount is 0 and the object is unavailable // results in an error. -NAPI_EXTERN napi_status napi_reference_ref(napi_env env, - napi_ref ref, - uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_reference_ref(napi_env env, + napi_ref ref, + uint32_t* result); // Decrements the reference count, optionally returning the resulting count. // If the result is 0 the reference is now weak and the object may be GC'd // at any time if there are no other references. Calling this when the // refcount is already 0 results in an error. -NAPI_EXTERN napi_status napi_reference_unref(napi_env env, - napi_ref ref, - uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_reference_unref(napi_env env, + napi_ref ref, + uint32_t* result); // Attempts to get a referenced value. If the reference is weak, // the value might no longer be available, in that case the call // is still successful but the result is NULL. -NAPI_EXTERN napi_status napi_get_reference_value(napi_env env, - napi_ref ref, - napi_value* result); - -NAPI_EXTERN napi_status napi_open_handle_scope(napi_env env, - napi_handle_scope* result); -NAPI_EXTERN napi_status napi_close_handle_scope(napi_env env, - napi_handle_scope scope); -NAPI_EXTERN napi_status -napi_open_escapable_handle_scope(napi_env env, - napi_escapable_handle_scope* result); -NAPI_EXTERN napi_status -napi_close_escapable_handle_scope(napi_env env, - napi_escapable_handle_scope scope); - -NAPI_EXTERN napi_status napi_escape_handle(napi_env env, - napi_escapable_handle_scope scope, - napi_value escapee, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_reference_value(napi_env env, + napi_ref ref, + napi_value* result); + +NAPI_EXTERN napi_status NAPI_CDECL +napi_open_handle_scope(napi_env env, napi_handle_scope* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_close_handle_scope(napi_env env, napi_handle_scope scope); +NAPI_EXTERN napi_status NAPI_CDECL napi_open_escapable_handle_scope( + napi_env env, napi_escapable_handle_scope* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_close_escapable_handle_scope( + napi_env env, napi_escapable_handle_scope scope); + +NAPI_EXTERN napi_status NAPI_CDECL +napi_escape_handle(napi_env env, + napi_escapable_handle_scope scope, + napi_value escapee, + napi_value* result); // Methods to support error handling -NAPI_EXTERN napi_status napi_throw(napi_env env, napi_value error); -NAPI_EXTERN napi_status napi_throw_error(napi_env env, - const char* code, - const char* msg); -NAPI_EXTERN napi_status napi_throw_type_error(napi_env env, - const char* code, - const char* msg); -NAPI_EXTERN napi_status napi_throw_range_error(napi_env env, - const char* code, - const char* msg); -NAPI_EXTERN napi_status napi_is_error(napi_env env, - napi_value value, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_throw(napi_env env, napi_value error); +NAPI_EXTERN napi_status NAPI_CDECL napi_throw_error(napi_env env, + const char* code, + const char* msg); +NAPI_EXTERN napi_status NAPI_CDECL napi_throw_type_error(napi_env env, + const char* code, + const char* msg); +NAPI_EXTERN napi_status NAPI_CDECL napi_throw_range_error(napi_env env, + const char* code, + const char* msg); +#if NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL node_api_throw_syntax_error(napi_env env, + const char* code, + const char* msg); +#endif // NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL napi_is_error(napi_env env, + napi_value value, + bool* result); // Methods to support catching exceptions -NAPI_EXTERN napi_status napi_is_exception_pending(napi_env env, bool* result); -NAPI_EXTERN napi_status napi_get_and_clear_last_exception(napi_env env, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_exception_pending(napi_env env, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_and_clear_last_exception(napi_env env, napi_value* result); // Methods to work with array buffers and typed arrays -NAPI_EXTERN napi_status napi_is_arraybuffer(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_create_arraybuffer(napi_env env, - size_t byte_length, - void** data, - napi_value* result); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_is_arraybuffer(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_arraybuffer(napi_env env, + size_t byte_length, + void** data, + napi_value* result); +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +NAPI_EXTERN napi_status NAPI_CDECL napi_create_external_arraybuffer(napi_env env, void* external_data, size_t byte_length, napi_finalize finalize_cb, void* finalize_hint, napi_value* result); -NAPI_EXTERN napi_status napi_get_arraybuffer_info(napi_env env, - napi_value arraybuffer, - void** data, - size_t* byte_length); -NAPI_EXTERN napi_status napi_is_typedarray(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_create_typedarray(napi_env env, - napi_typedarray_type type, - size_t length, - napi_value arraybuffer, - size_t byte_offset, - napi_value* result); -NAPI_EXTERN napi_status napi_get_typedarray_info(napi_env env, - napi_value typedarray, - napi_typedarray_type* type, - size_t* length, - void** data, - napi_value* arraybuffer, - size_t* byte_offset); - -NAPI_EXTERN napi_status napi_create_dataview(napi_env env, - size_t length, - napi_value arraybuffer, - size_t byte_offset, - napi_value* result); -NAPI_EXTERN napi_status napi_is_dataview(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_get_dataview_info(napi_env env, - napi_value dataview, - size_t* bytelength, - void** data, - napi_value* arraybuffer, - size_t* byte_offset); +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +NAPI_EXTERN napi_status NAPI_CDECL napi_get_arraybuffer_info( + napi_env env, napi_value arraybuffer, void** data, size_t* byte_length); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_typedarray(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_typedarray(napi_env env, + napi_typedarray_type type, + size_t length, + napi_value arraybuffer, + size_t byte_offset, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_typedarray_info(napi_env env, + napi_value typedarray, + napi_typedarray_type* type, + size_t* length, + void** data, + napi_value* arraybuffer, + size_t* byte_offset); + +NAPI_EXTERN napi_status NAPI_CDECL napi_create_dataview(napi_env env, + size_t length, + napi_value arraybuffer, + size_t byte_offset, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_dataview(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_dataview_info(napi_env env, + napi_value dataview, + size_t* bytelength, + void** data, + napi_value* arraybuffer, + size_t* byte_offset); // version management -NAPI_EXTERN napi_status napi_get_version(napi_env env, uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(napi_env env, + uint32_t* result); // Promises -NAPI_EXTERN napi_status napi_create_promise(napi_env env, - napi_deferred* deferred, - napi_value* promise); -NAPI_EXTERN napi_status napi_resolve_deferred(napi_env env, - napi_deferred deferred, - napi_value resolution); -NAPI_EXTERN napi_status napi_reject_deferred(napi_env env, - napi_deferred deferred, - napi_value rejection); -NAPI_EXTERN napi_status napi_is_promise(napi_env env, - napi_value value, - bool* is_promise); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_promise(napi_env env, + napi_deferred* deferred, + napi_value* promise); +NAPI_EXTERN napi_status NAPI_CDECL napi_resolve_deferred(napi_env env, + napi_deferred deferred, + napi_value resolution); +NAPI_EXTERN napi_status NAPI_CDECL napi_reject_deferred(napi_env env, + napi_deferred deferred, + napi_value rejection); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_promise(napi_env env, + napi_value value, + bool* is_promise); // Running a script -NAPI_EXTERN napi_status napi_run_script(napi_env env, - napi_value script, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env, + napi_value script, + napi_value* result); // Memory management -NAPI_EXTERN napi_status napi_adjust_external_memory(napi_env env, - int64_t change_in_bytes, - int64_t* adjusted_value); +NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory( + napi_env env, int64_t change_in_bytes, int64_t* adjusted_value); #if NAPI_VERSION >= 5 // Dates -NAPI_EXTERN napi_status napi_create_date(napi_env env, - double time, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_date(napi_env env, + double time, + napi_value* result); -NAPI_EXTERN napi_status napi_is_date(napi_env env, - napi_value value, - bool* is_date); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_date(napi_env env, + napi_value value, + bool* is_date); -NAPI_EXTERN napi_status napi_get_date_value(napi_env env, - napi_value value, - double* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_date_value(napi_env env, + napi_value value, + double* result); // Add finalizer for pointer -NAPI_EXTERN napi_status napi_add_finalizer(napi_env env, - napi_value js_object, - void* native_object, - napi_finalize finalize_cb, - void* finalize_hint, - napi_ref* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_add_finalizer(napi_env env, + napi_value js_object, + void* finalize_data, + napi_finalize finalize_cb, + void* finalize_hint, + napi_ref* result); #endif // NAPI_VERSION >= 5 #if NAPI_VERSION >= 6 // BigInt -NAPI_EXTERN napi_status napi_create_bigint_int64(napi_env env, - int64_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_bigint_uint64(napi_env env, - uint64_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_bigint_words(napi_env env, - int sign_bit, - size_t word_count, - const uint64_t* words, - napi_value* result); -NAPI_EXTERN napi_status napi_get_value_bigint_int64(napi_env env, - napi_value value, - int64_t* result, - bool* lossless); -NAPI_EXTERN napi_status napi_get_value_bigint_uint64(napi_env env, - napi_value value, - uint64_t* result, - bool* lossless); -NAPI_EXTERN napi_status napi_get_value_bigint_words(napi_env env, - napi_value value, - int* sign_bit, - size_t* word_count, - uint64_t* words); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_bigint_int64(napi_env env, + int64_t value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_bigint_uint64(napi_env env, uint64_t value, napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_bigint_words(napi_env env, + int sign_bit, + size_t word_count, + const uint64_t* words, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bigint_int64(napi_env env, + napi_value value, + int64_t* result, + bool* lossless); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bigint_uint64( + napi_env env, napi_value value, uint64_t* result, bool* lossless); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_value_bigint_words(napi_env env, + napi_value value, + int* sign_bit, + size_t* word_count, + uint64_t* words); // Object -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_get_all_property_names(napi_env env, napi_value object, napi_key_collection_mode key_mode, @@ -520,40 +554,36 @@ napi_get_all_property_names(napi_env env, napi_value* result); // Instance data -NAPI_EXTERN napi_status napi_set_instance_data(napi_env env, - void* data, - napi_finalize finalize_cb, - void* finalize_hint); +NAPI_EXTERN napi_status NAPI_CDECL napi_set_instance_data( + napi_env env, void* data, napi_finalize finalize_cb, void* finalize_hint); -NAPI_EXTERN napi_status napi_get_instance_data(napi_env env, - void** data); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(napi_env env, + void** data); #endif // NAPI_VERSION >= 6 #if NAPI_VERSION >= 7 // ArrayBuffer detaching -NAPI_EXTERN napi_status napi_detach_arraybuffer(napi_env env, - napi_value arraybuffer); +NAPI_EXTERN napi_status NAPI_CDECL +napi_detach_arraybuffer(napi_env env, napi_value arraybuffer); -NAPI_EXTERN napi_status napi_is_detached_arraybuffer(napi_env env, - napi_value value, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_is_detached_arraybuffer(napi_env env, napi_value value, bool* result); #endif // NAPI_VERSION >= 7 #if NAPI_VERSION >= 8 // Type tagging -NAPI_EXTERN napi_status napi_type_tag_object(napi_env env, - napi_value value, - const napi_type_tag* type_tag); +NAPI_EXTERN napi_status NAPI_CDECL napi_type_tag_object( + napi_env env, napi_value value, const napi_type_tag* type_tag); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_check_object_type_tag(napi_env env, napi_value value, const napi_type_tag* type_tag, bool* result); -NAPI_EXTERN napi_status napi_object_freeze(napi_env env, - napi_value object); -NAPI_EXTERN napi_status napi_object_seal(napi_env env, - napi_value object); +NAPI_EXTERN napi_status NAPI_CDECL napi_object_freeze(napi_env env, + napi_value object); +NAPI_EXTERN napi_status NAPI_CDECL napi_object_seal(napi_env env, + napi_value object); #endif // NAPI_VERSION >= 8 EXTERN_C_END diff --git a/src/js_native_api_types.h b/src/js_native_api_types.h index 6aba06629b31543c13698dbb02b82db309587c4a..005382f173fee9b38197c4453e6d34f580e71fab 100644 --- a/src/js_native_api_types.h +++ b/src/js_native_api_types.h @@ -8,7 +8,15 @@ #include // NOLINT(modernize-deprecated-headers) #if !defined __cplusplus || (defined(_MSC_VER) && _MSC_VER < 1900) - typedef uint16_t char16_t; +typedef uint16_t char16_t; +#endif + +#ifndef NAPI_CDECL +#ifdef _WIN32 +#define NAPI_CDECL __cdecl +#else +#define NAPI_CDECL +#endif #endif // JSVM API types are all opaque pointers for ABI stability @@ -36,9 +44,7 @@ typedef enum { napi_default_method = napi_writable | napi_configurable, // Default for object properties, like in JS obj[prop]. - napi_default_jsproperty = napi_writable | - napi_enumerable | - napi_configurable, + napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable, #endif // NAPI_VERSION >= 8 } napi_property_attributes; @@ -92,7 +98,9 @@ typedef enum { napi_date_expected, napi_arraybuffer_expected, napi_detachable_arraybuffer_expected, - napi_would_deadlock // unused + napi_would_deadlock, // unused + napi_no_external_buffers_allowed, + napi_cannot_run_js, } napi_status; // Note: when adding a new enum value to `napi_status`, please also update // * `const int last_status` in the definition of `napi_get_last_error_info()' @@ -102,11 +110,11 @@ typedef enum { // * the definition of `napi_status` in doc/api/n-api.md to reflect the newly // added value(s). -typedef napi_value (*napi_callback)(napi_env env, - napi_callback_info info); -typedef void (*napi_finalize)(napi_env env, - void* finalize_data, - void* finalize_hint); +typedef napi_value(NAPI_CDECL* napi_callback)(napi_env env, + napi_callback_info info); +typedef void(NAPI_CDECL* napi_finalize)(napi_env env, + void* finalize_data, + void* finalize_hint); typedef struct { // One of utf8name or name should be NULL. diff --git a/src/node_api.h b/src/node_api.h index 1772c67c15afb2d2712b1900a584f627852e3d7e..03454683c401d429078fdbb2cbc59bc717ecfb5d 100644 --- a/src/node_api.h +++ b/src/node_api.h @@ -2,12 +2,12 @@ #define SRC_NODE_API_H_ #ifdef BUILDING_NODE_EXTENSION - #ifdef _WIN32 - // Building native module against node - #define NAPI_EXTERN __declspec(dllimport) - #elif defined(__wasm32__) - #define NAPI_EXTERN __attribute__((__import_module__("napi"))) - #endif +#ifdef _WIN32 +// Building native addon against node +#define NAPI_EXTERN __declspec(dllimport) +#elif defined(__wasm32__) +#define NAPI_EXTERN __attribute__((__import_module__("napi"))) +#endif #endif #include "js_native_api.h" #include "node_api_types.h" @@ -15,22 +15,24 @@ struct uv_loop_s; // Forward declaration. #ifdef _WIN32 -# define NAPI_MODULE_EXPORT __declspec(dllexport) +#define NAPI_MODULE_EXPORT __declspec(dllexport) #else -# define NAPI_MODULE_EXPORT __attribute__((visibility("default"))) +#define NAPI_MODULE_EXPORT __attribute__((visibility("default"))) #endif #if defined(__GNUC__) -# define NAPI_NO_RETURN __attribute__((noreturn)) +#define NAPI_NO_RETURN __attribute__((noreturn)) #elif defined(_WIN32) -# define NAPI_NO_RETURN __declspec(noreturn) +#define NAPI_NO_RETURN __declspec(noreturn) #else -# define NAPI_NO_RETURN +#define NAPI_NO_RETURN #endif -typedef napi_value (*napi_addon_register_func)(napi_env env, - napi_value exports); +typedef napi_value(NAPI_CDECL* napi_addon_register_func)(napi_env env, + napi_value exports); +typedef int32_t(NAPI_CDECL* node_api_addon_get_api_version_func)(); +// Used by deprecated registration method napi_module_register. typedef struct napi_module { int nm_version; unsigned int nm_flags; @@ -41,170 +43,155 @@ typedef struct napi_module { void* reserved[4]; } napi_module; -#define NAPI_MODULE_VERSION 1 - -#if defined(_MSC_VER) -#pragma section(".CRT$XCU", read) -#define NAPI_C_CTOR(fn) \ - static void __cdecl fn(void); \ - __declspec(dllexport, allocate(".CRT$XCU")) void(__cdecl * fn##_)(void) = \ - fn; \ - static void __cdecl fn(void) -#else -#define NAPI_C_CTOR(fn) \ - static void fn(void) __attribute__((constructor)); \ - static void fn(void) -#endif - -#define NAPI_MODULE_X(modname, regfunc, priv, flags) \ - EXTERN_C_START \ - static napi_module _module = \ - { \ - NAPI_MODULE_VERSION, \ - flags, \ - __FILE__, \ - regfunc, \ - #modname, \ - priv, \ - {0}, \ - }; \ - NAPI_C_CTOR(_register_ ## modname) { \ - napi_module_register(&_module); \ - } \ - EXTERN_C_END +#define NAPI_MODULE_VERSION 1 #define NAPI_MODULE_INITIALIZER_X(base, version) \ NAPI_MODULE_INITIALIZER_X_HELPER(base, version) #define NAPI_MODULE_INITIALIZER_X_HELPER(base, version) base##version #ifdef __wasm32__ -#define NAPI_WASM_INITIALIZER \ - NAPI_MODULE_INITIALIZER_X(napi_register_wasm_v, NAPI_MODULE_VERSION) -#define NAPI_MODULE(modname, regfunc) \ - EXTERN_C_START \ - NAPI_MODULE_EXPORT napi_value NAPI_WASM_INITIALIZER(napi_env env, \ - napi_value exports) { \ - return regfunc(env, exports); \ - } \ - EXTERN_C_END +#define NAPI_MODULE_INITIALIZER_BASE napi_register_wasm_v #else -#define NAPI_MODULE(modname, regfunc) \ - NAPI_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) +#define NAPI_MODULE_INITIALIZER_BASE napi_register_module_v #endif -#define NAPI_MODULE_INITIALIZER_BASE napi_register_module_v +#define NODE_API_MODULE_GET_API_VERSION_BASE node_api_module_get_api_version_v + +#define NAPI_MODULE_INITIALIZER \ + NAPI_MODULE_INITIALIZER_X(NAPI_MODULE_INITIALIZER_BASE, NAPI_MODULE_VERSION) + +#define NODE_API_MODULE_GET_API_VERSION \ + NAPI_MODULE_INITIALIZER_X(NODE_API_MODULE_GET_API_VERSION_BASE, \ + NAPI_MODULE_VERSION) + +#define NAPI_MODULE_INIT() \ + EXTERN_C_START \ + NAPI_MODULE_EXPORT int32_t NODE_API_MODULE_GET_API_VERSION() { \ + return NAPI_VERSION; \ + } \ + NAPI_MODULE_EXPORT napi_value NAPI_MODULE_INITIALIZER(napi_env env, \ + napi_value exports); \ + EXTERN_C_END \ + napi_value NAPI_MODULE_INITIALIZER(napi_env env, napi_value exports) -#define NAPI_MODULE_INITIALIZER \ - NAPI_MODULE_INITIALIZER_X(NAPI_MODULE_INITIALIZER_BASE, \ - NAPI_MODULE_VERSION) +#define NAPI_MODULE(modname, regfunc) \ + NAPI_MODULE_INIT() { return regfunc(env, exports); } -#define NAPI_MODULE_INIT() \ - EXTERN_C_START \ - NAPI_MODULE_EXPORT napi_value \ - NAPI_MODULE_INITIALIZER(napi_env env, napi_value exports); \ - EXTERN_C_END \ - NAPI_MODULE(NODE_GYP_MODULE_NAME, NAPI_MODULE_INITIALIZER) \ - napi_value NAPI_MODULE_INITIALIZER(napi_env env, \ - napi_value exports) +// Deprecated. Use NAPI_MODULE. +#define NAPI_MODULE_X(modname, regfunc, priv, flags) \ + NAPI_MODULE(modname, regfunc) EXTERN_C_START -NAPI_EXTERN void napi_module_register(napi_module* mod); +// Deprecated. Replaced by symbol-based registration defined by NAPI_MODULE +// and NAPI_MODULE_INIT macros. +#if defined(__cplusplus) && __cplusplus >= 201402L +[[deprecated]] +#endif +NAPI_EXTERN void NAPI_CDECL +napi_module_register(napi_module* mod); -NAPI_EXTERN NAPI_NO_RETURN void napi_fatal_error(const char* location, - size_t location_len, - const char* message, - size_t message_len); +NAPI_EXTERN NAPI_NO_RETURN void NAPI_CDECL +napi_fatal_error(const char* location, + size_t location_len, + const char* message, + size_t message_len); // Methods for custom handling of async operations -NAPI_EXTERN napi_status napi_async_init(napi_env env, - napi_value async_resource, - napi_value async_resource_name, - napi_async_context* result); - -NAPI_EXTERN napi_status napi_async_destroy(napi_env env, - napi_async_context async_context); - -NAPI_EXTERN napi_status napi_make_callback(napi_env env, - napi_async_context async_context, - napi_value recv, - napi_value func, - size_t argc, - const napi_value* argv, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_async_init(napi_env env, + napi_value async_resource, + napi_value async_resource_name, + napi_async_context* result); + +NAPI_EXTERN napi_status NAPI_CDECL +napi_async_destroy(napi_env env, napi_async_context async_context); + +NAPI_EXTERN napi_status NAPI_CDECL +napi_make_callback(napi_env env, + napi_async_context async_context, + napi_value recv, + napi_value func, + size_t argc, + const napi_value* argv, + napi_value* result); // Methods to provide node::Buffer functionality with napi types -NAPI_EXTERN napi_status napi_create_buffer(napi_env env, - size_t length, - void** data, - napi_value* result); -NAPI_EXTERN napi_status napi_create_external_buffer(napi_env env, - size_t length, - void* data, - napi_finalize finalize_cb, - void* finalize_hint, - napi_value* result); -NAPI_EXTERN napi_status napi_create_buffer_copy(napi_env env, - size_t length, - const void* data, - void** result_data, - napi_value* result); -NAPI_EXTERN napi_status napi_is_buffer(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_get_buffer_info(napi_env env, - napi_value value, - void** data, - size_t* length); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_buffer(napi_env env, + size_t length, + void** data, + napi_value* result); +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_external_buffer(napi_env env, + size_t length, + void* data, + napi_finalize finalize_cb, + void* finalize_hint, + napi_value* result); +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +NAPI_EXTERN napi_status NAPI_CDECL napi_create_buffer_copy(napi_env env, + size_t length, + const void* data, + void** result_data, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_buffer(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_buffer_info(napi_env env, + napi_value value, + void** data, + size_t* length); +#ifndef __wasm32__ // Methods to manage simple async operations -NAPI_EXTERN -napi_status napi_create_async_work(napi_env env, - napi_value async_resource, - napi_value async_resource_name, - napi_async_execute_callback execute, - napi_async_complete_callback complete, - void* data, - napi_async_work* result); -NAPI_EXTERN napi_status napi_delete_async_work(napi_env env, - napi_async_work work); -NAPI_EXTERN napi_status napi_queue_async_work(napi_env env, - napi_async_work work); -NAPI_EXTERN napi_status napi_cancel_async_work(napi_env env, - napi_async_work work); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_async_work(napi_env env, + napi_value async_resource, + napi_value async_resource_name, + napi_async_execute_callback execute, + napi_async_complete_callback complete, + void* data, + napi_async_work* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_delete_async_work(napi_env env, + napi_async_work work); +NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(napi_env env, + napi_async_work work); +NAPI_EXTERN napi_status NAPI_CDECL napi_cancel_async_work(napi_env env, + napi_async_work work); +#endif // __wasm32__ // version management -NAPI_EXTERN -napi_status napi_get_node_version(napi_env env, - const napi_node_version** version); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_node_version(napi_env env, const napi_node_version** version); #if NAPI_VERSION >= 2 // Return the current libuv event loop for a given environment -NAPI_EXTERN napi_status napi_get_uv_event_loop(napi_env env, - struct uv_loop_s** loop); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_uv_event_loop(napi_env env, struct uv_loop_s** loop); #endif // NAPI_VERSION >= 2 #if NAPI_VERSION >= 3 -NAPI_EXTERN napi_status napi_fatal_exception(napi_env env, napi_value err); +NAPI_EXTERN napi_status NAPI_CDECL napi_fatal_exception(napi_env env, + napi_value err); -NAPI_EXTERN napi_status napi_add_env_cleanup_hook(napi_env env, - void (*fun)(void* arg), - void* arg); +NAPI_EXTERN napi_status NAPI_CDECL +napi_add_env_cleanup_hook(napi_env env, napi_cleanup_hook fun, void* arg); -NAPI_EXTERN napi_status napi_remove_env_cleanup_hook(napi_env env, - void (*fun)(void* arg), - void* arg); +NAPI_EXTERN napi_status NAPI_CDECL +napi_remove_env_cleanup_hook(napi_env env, napi_cleanup_hook fun, void* arg); -NAPI_EXTERN napi_status napi_open_callback_scope(napi_env env, - napi_value resource_object, - napi_async_context context, - napi_callback_scope* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_open_callback_scope(napi_env env, + napi_value resource_object, + napi_async_context context, + napi_callback_scope* result); -NAPI_EXTERN napi_status napi_close_callback_scope(napi_env env, - napi_callback_scope scope); +NAPI_EXTERN napi_status NAPI_CDECL +napi_close_callback_scope(napi_env env, napi_callback_scope scope); #endif // NAPI_VERSION >= 3 @@ -212,7 +199,7 @@ NAPI_EXTERN napi_status napi_close_callback_scope(napi_env env, #ifndef __wasm32__ // Calling into JS from other threads -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_create_threadsafe_function(napi_env env, napi_value func, napi_value async_resource, @@ -225,26 +212,24 @@ napi_create_threadsafe_function(napi_env env, napi_threadsafe_function_call_js call_js_cb, napi_threadsafe_function* result); -NAPI_EXTERN napi_status -napi_get_threadsafe_function_context(napi_threadsafe_function func, - void** result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_threadsafe_function_context( + napi_threadsafe_function func, void** result); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_call_threadsafe_function(napi_threadsafe_function func, void* data, napi_threadsafe_function_call_mode is_blocking); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_acquire_threadsafe_function(napi_threadsafe_function func); -NAPI_EXTERN napi_status -napi_release_threadsafe_function(napi_threadsafe_function func, - napi_threadsafe_function_release_mode mode); +NAPI_EXTERN napi_status NAPI_CDECL napi_release_threadsafe_function( + napi_threadsafe_function func, napi_threadsafe_function_release_mode mode); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_unref_threadsafe_function(napi_env env, napi_threadsafe_function func); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_ref_threadsafe_function(napi_env env, napi_threadsafe_function func); #endif // __wasm32__ @@ -252,23 +237,23 @@ napi_ref_threadsafe_function(napi_env env, napi_threadsafe_function func); #if NAPI_VERSION >= 8 -NAPI_EXTERN napi_status napi_add_async_cleanup_hook( - napi_env env, - napi_async_cleanup_hook hook, - void* arg, - napi_async_cleanup_hook_handle* remove_handle); +NAPI_EXTERN napi_status NAPI_CDECL +napi_add_async_cleanup_hook(napi_env env, + napi_async_cleanup_hook hook, + void* arg, + napi_async_cleanup_hook_handle* remove_handle); -NAPI_EXTERN napi_status napi_remove_async_cleanup_hook( - napi_async_cleanup_hook_handle remove_handle); +NAPI_EXTERN napi_status NAPI_CDECL +napi_remove_async_cleanup_hook(napi_async_cleanup_hook_handle remove_handle); #endif // NAPI_VERSION >= 8 -#ifdef NAPI_EXPERIMENTAL +#if NAPI_VERSION >= 9 -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL node_api_get_module_file_name(napi_env env, const char** result); -#endif // NAPI_EXPERIMENTAL +#endif // NAPI_VERSION >= 9 EXTERN_C_END diff --git a/src/node_api_types.h b/src/node_api_types.h index 58ffc61b3a5f51b71f33f6dd904d61da12089f3b..9c2f03f4d09c08dbf71282f646a70c58b008f341 100644 --- a/src/node_api_types.h +++ b/src/node_api_types.h @@ -6,6 +6,11 @@ typedef struct napi_callback_scope__* napi_callback_scope; typedef struct napi_async_context__* napi_async_context; typedef struct napi_async_work__* napi_async_work; + +#if NAPI_VERSION >= 3 +typedef void(NAPI_CDECL* napi_cleanup_hook)(void* arg); +#endif // NAPI_VERSION >= 3 + #if NAPI_VERSION >= 4 typedef struct napi_threadsafe_function__* napi_threadsafe_function; #endif // NAPI_VERSION >= 4 @@ -22,16 +27,13 @@ typedef enum { } napi_threadsafe_function_call_mode; #endif // NAPI_VERSION >= 4 -typedef void (*napi_async_execute_callback)(napi_env env, - void* data); -typedef void (*napi_async_complete_callback)(napi_env env, - napi_status status, - void* data); +typedef void(NAPI_CDECL* napi_async_execute_callback)(napi_env env, void* data); +typedef void(NAPI_CDECL* napi_async_complete_callback)(napi_env env, + napi_status status, + void* data); #if NAPI_VERSION >= 4 -typedef void (*napi_threadsafe_function_call_js)(napi_env env, - napi_value js_callback, - void* context, - void* data); +typedef void(NAPI_CDECL* napi_threadsafe_function_call_js)( + napi_env env, napi_value js_callback, void* context, void* data); #endif // NAPI_VERSION >= 4 typedef struct { @@ -43,8 +45,8 @@ typedef struct { #if NAPI_VERSION >= 8 typedef struct napi_async_cleanup_hook_handle__* napi_async_cleanup_hook_handle; -typedef void (*napi_async_cleanup_hook)(napi_async_cleanup_hook_handle handle, - void* data); +typedef void(NAPI_CDECL* napi_async_cleanup_hook)( + napi_async_cleanup_hook_handle handle, void* data); #endif // NAPI_VERSION >= 8 #endif // SRC_NODE_API_TYPES_H_ diff --git a/test/fixtures/keys/selfsigned-no-keycertsign/https_renew_cert.sh b/test/fixtures/keys/selfsigned-no-keycertsign/https_renew_cert.sh old mode 100644 new mode 100755 diff --git a/test/fixtures/postject-copy/node_modules/postject/dist/cli.js b/test/fixtures/postject-copy/node_modules/postject/dist/cli.js old mode 100644 new mode 100755 diff --git a/test/parallel/test-http2-server-timeout.js b/test/parallel/test-http2-server-timeout.js old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/cant_dotdot.wasm b/test/wasi/wasm/cant_dotdot.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/clock_getres.wasm b/test/wasi/wasm/clock_getres.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/create_symlink.wasm b/test/wasi/wasm/create_symlink.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/exitcode.wasm b/test/wasi/wasm/exitcode.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/fd_prestat_get_refresh.wasm b/test/wasi/wasm/fd_prestat_get_refresh.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/follow_symlink.wasm b/test/wasi/wasm/follow_symlink.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/freopen.wasm b/test/wasi/wasm/freopen.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/ftruncate.wasm b/test/wasi/wasm/ftruncate.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/getentropy.wasm b/test/wasi/wasm/getentropy.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/getrusage.wasm b/test/wasi/wasm/getrusage.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/gettimeofday.wasm b/test/wasi/wasm/gettimeofday.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/link.wasm b/test/wasi/wasm/link.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/main_args.wasm b/test/wasi/wasm/main_args.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/notdir.wasm b/test/wasi/wasm/notdir.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/poll.wasm b/test/wasi/wasm/poll.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/preopen_populates.wasm b/test/wasi/wasm/preopen_populates.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/read_file.wasm b/test/wasi/wasm/read_file.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/read_file_twice.wasm b/test/wasi/wasm/read_file_twice.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/readdir.wasm b/test/wasi/wasm/readdir.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/sock.wasm b/test/wasi/wasm/sock.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/stat.wasm b/test/wasi/wasm/stat.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/stdin.wasm b/test/wasi/wasm/stdin.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/symlink_escape.wasm b/test/wasi/wasm/symlink_escape.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/symlink_loop.wasm b/test/wasi/wasm/symlink_loop.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/write_file.wasm b/test/wasi/wasm/write_file.wasm old mode 100644 new mode 100755 diff --git a/tools/actions/commit-queue.sh b/tools/actions/commit-queue.sh old mode 100644 new mode 100755 diff --git a/tools/actions/start-ci.sh b/tools/actions/start-ci.sh old mode 100644 new mode 100755 diff --git a/tools/build-addons.mjs b/tools/build-addons.mjs old mode 100644 new mode 100755 diff --git a/tools/checkimports.py b/tools/checkimports.py old mode 100644 new mode 100755 diff --git a/tools/create_android_makefiles b/tools/create_android_makefiles old mode 100644 new mode 100755 diff --git a/tools/create_expfile.sh b/tools/create_expfile.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-acorn-walk.sh b/tools/dep_updaters/update-acorn-walk.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-acorn.sh b/tools/dep_updaters/update-acorn.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-ada.sh b/tools/dep_updaters/update-ada.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-base64.sh b/tools/dep_updaters/update-base64.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-brotli.sh b/tools/dep_updaters/update-brotli.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-c-ares.sh b/tools/dep_updaters/update-c-ares.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-cjs-module-lexer.sh b/tools/dep_updaters/update-cjs-module-lexer.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-eslint.sh b/tools/dep_updaters/update-eslint.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-googletest.sh b/tools/dep_updaters/update-googletest.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-histogram.sh b/tools/dep_updaters/update-histogram.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-icu.sh b/tools/dep_updaters/update-icu.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-libuv.sh b/tools/dep_updaters/update-libuv.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-llhttp.sh b/tools/dep_updaters/update-llhttp.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-minimatch.sh b/tools/dep_updaters/update-minimatch.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-nghttp2.sh b/tools/dep_updaters/update-nghttp2.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-nghttp3.sh b/tools/dep_updaters/update-nghttp3.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-ngtcp2.sh b/tools/dep_updaters/update-ngtcp2.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-npm.sh b/tools/dep_updaters/update-npm.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-openssl.sh b/tools/dep_updaters/update-openssl.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-postject.sh b/tools/dep_updaters/update-postject.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-simdutf.sh b/tools/dep_updaters/update-simdutf.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-undici.sh b/tools/dep_updaters/update-undici.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-uvwasi.sh b/tools/dep_updaters/update-uvwasi.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-v8-patch.sh b/tools/dep_updaters/update-v8-patch.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-zlib.sh b/tools/dep_updaters/update-zlib.sh old mode 100644 new mode 100755 diff --git a/tools/find-inactive-collaborators.mjs b/tools/find-inactive-collaborators.mjs old mode 100644 new mode 100755 diff --git a/tools/find-inactive-tsc.mjs b/tools/find-inactive-tsc.mjs old mode 100644 new mode 100755 diff --git a/tools/genv8constants.py b/tools/genv8constants.py old mode 100644 new mode 100755 diff --git a/tools/gyp/gyp b/tools/gyp/gyp old mode 100644 new mode 100755 diff --git a/tools/gyp/gyp.bat b/tools/gyp/gyp.bat old mode 100644 new mode 100755 diff --git a/tools/gyp/gyp_main.py b/tools/gyp/gyp_main.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/MSVSSettings_test.py b/tools/gyp/pylib/gyp/MSVSSettings_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/__init__.py b/tools/gyp/pylib/gyp/__init__.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/common_test.py b/tools/gyp/pylib/gyp/common_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/easy_xml_test.py b/tools/gyp/pylib/gyp/easy_xml_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/flock_tool.py b/tools/gyp/pylib/gyp/flock_tool.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/generator/msvs_test.py b/tools/gyp/pylib/gyp/generator/msvs_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/input_test.py b/tools/gyp/pylib/gyp/input_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/mac_tool.py b/tools/gyp/pylib/gyp/mac_tool.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/win_tool.py b/tools/gyp/pylib/gyp/win_tool.py old mode 100644 new mode 100755 diff --git a/tools/gyp/test_gyp.py b/tools/gyp/test_gyp.py old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/emacs/run-unit-tests.sh b/tools/gyp/tools/emacs/run-unit-tests.sh old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/graphviz.py b/tools/gyp/tools/graphviz.py old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/pretty_gyp.py b/tools/gyp/tools/pretty_gyp.py old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/pretty_sln.py b/tools/gyp/tools/pretty_sln.py old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/pretty_vcproj.py b/tools/gyp/tools/pretty_vcproj.py old mode 100644 new mode 100755 diff --git a/tools/gyp_node.py b/tools/gyp_node.py old mode 100644 new mode 100755 diff --git a/tools/icu/icutrim.py b/tools/icu/icutrim.py old mode 100644 new mode 100755 diff --git a/tools/icu/shrink-icu-src.py b/tools/icu/shrink-icu-src.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/check_protocol_compatibility.py b/tools/inspector_protocol/check_protocol_compatibility.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/code_generator.py b/tools/inspector_protocol/code_generator.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/concatenate_protocols.py b/tools/inspector_protocol/concatenate_protocols.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/convert_protocol_to_json.py b/tools/inspector_protocol/convert_protocol_to_json.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/jinja2/get_jinja2.sh b/tools/inspector_protocol/jinja2/get_jinja2.sh old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/markupsafe/get_markupsafe.sh b/tools/inspector_protocol/markupsafe/get_markupsafe.sh old mode 100644 new mode 100755 diff --git a/tools/install.py b/tools/install.py old mode 100644 new mode 100755 diff --git a/tools/js2c.py b/tools/js2c.py old mode 100644 new mode 100755 diff --git a/tools/lint-md/list-released-versions-from-changelogs.mjs b/tools/lint-md/list-released-versions-from-changelogs.mjs old mode 100644 new mode 100755 diff --git a/tools/lint-pr-url.mjs b/tools/lint-pr-url.mjs old mode 100644 new mode 100755 diff --git a/tools/lint-sh.mjs b/tools/lint-sh.mjs old mode 100644 new mode 100755 diff --git a/tools/macos-firewall.sh b/tools/macos-firewall.sh old mode 100644 new mode 100755 diff --git a/tools/macos-installer/pkgbuild/npm/scripts/postinstall b/tools/macos-installer/pkgbuild/npm/scripts/postinstall old mode 100644 new mode 100755 diff --git a/tools/macos-installer/pkgbuild/npm/scripts/preinstall b/tools/macos-installer/pkgbuild/npm/scripts/preinstall old mode 100644 new mode 100755 diff --git a/tools/make-v8.sh b/tools/make-v8.sh old mode 100644 new mode 100755 diff --git a/tools/mk-ca-bundle.pl b/tools/mk-ca-bundle.pl old mode 100644 new mode 100755 diff --git a/tools/mkssldef.py b/tools/mkssldef.py old mode 100644 new mode 100755 diff --git a/tools/msvs/msi/product.wxs b/tools/msvs/msi/product.wxs old mode 100644 new mode 100755 diff --git a/tools/pseudo-tty.py b/tools/pseudo-tty.py old mode 100644 new mode 100755 diff --git a/tools/release.sh b/tools/release.sh old mode 100644 new mode 100755 diff --git a/tools/run-valgrind.py b/tools/run-valgrind.py old mode 100644 new mode 100755 diff --git a/tools/specialize_node_d.py b/tools/specialize_node_d.py old mode 100644 new mode 100755 diff --git a/tools/test-npm-package.js b/tools/test-npm-package.js old mode 100644 new mode 100755 diff --git a/tools/test.py b/tools/test.py old mode 100644 new mode 100755 diff --git a/tools/update-llhttp.sh b/tools/update-llhttp.sh old mode 100644 new mode 100755 diff --git a/tools/update-timezone.mjs b/tools/update-timezone.mjs old mode 100644 new mode 100755 diff --git a/tools/v8-json-to-junit.py b/tools/v8-json-to-junit.py old mode 100644 new mode 100755 diff --git a/tools/v8/fetch_deps.py b/tools/v8/fetch_deps.py old mode 100644 new mode 100755 diff --git a/tools/v8/node_common.py b/tools/v8/node_common.py old mode 100644 new mode 100755 diff --git a/tools/zos/modifysidedeck.sh b/tools/zos/modifysidedeck.sh old mode 100644 new mode 100755 diff --git a/tools/zos/sdwrap.py b/tools/zos/sdwrap.py old mode 100644 new mode 100755