Clemens Backes
a63db7fb5e
src: remove deprecated wasm type check
...
This removes uses of the "IsWebAssemblyCompiledModule" method, which is
deprecated in V8 v8.1 and will be removed in v8.2.
We could replace it by "IsWasmModuleObject", but since it's unused in
node anyway, I just remove the definition.
PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-18 16:37:19 -07:00
Clemens Backes
c080b2d821
src: avoid calling deprecated method
...
The {SetExpectInlineWasm} method is deprecated and non-functional since
V8 v8.1.
Thus node should stop calling it, so that it can be fully removed in a
future v8 version.
PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-18 16:37:19 -07:00
cjihrig
7ed0d1439e
src: remove use of deprecated Symbol::Name()
...
This commit replaces Symbol::Name() with
Symbol::Description().
Fixes: https://github.com/nodejs/node/issues/30916
PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-18 16:37:18 -07:00
Clemens Backes
59eeb3b5b9
src: stop overriding deprecated V8 methods
...
These methods will be removed in V8 8.1, hence we need to stop
overriding them.
PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-18 16:37:18 -07:00
cjihrig
17a6def4e8
deps: update V8 dtrace & postmortem metadata
...
PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-18 16:23:32 -07:00
Matheus Marchini
339c192ddb
src: update NODE_MODULE_VERSION to 83
...
Major V8 updates are usually API/ABI incompatible with previous
versions. This commit adapts NODE_MODULE_VERSION for V8 8.1.
Refs: https://github.com/nodejs/CTC/blob/master/meetings/2016-09-28.md
PR-URL: https://github.com/nodejs/node/pull/32116
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-18 16:23:27 -07:00
Gus Caplan
7a742ec050
lib: add option to disable __proto__
...
Adds `--disable-proto` CLI option which can be set to `delete` or
`throw`.
Fixes #31951
PR-URL: https://github.com/nodejs/node/pull/32279
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Bradley Farias <bradley.meck@gmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com >
2020-03-18 10:22:42 -07:00
himself65
960df3fd90
src: handle NULL env scenario
...
PR-URL: https://github.com/nodejs/node/pull/32230
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matheus Marchini <mat@mmarchini.me >
2020-03-17 15:16:30 -07:00
Sam Roberts
8cbbc70fbc
src,cli: support compact (one-line) JSON reports
...
Multi-line JSON is more human readable, but harder for log aggregators
to consume, they usually require a log message per line, particularly
for JSON. Compact output will be consumable by aggregators such as EFK
(Elastic Search-Fluentd-Kibana), LogDNA, DataDog, etc.
PR-URL: https://github.com/nodejs/node/pull/32254
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2020-03-17 08:42:41 -07:00
Gabriel Schulhof and Ben Noordhuis
25cb855b09
src: find .text section using dl_iterate_phdr
...
Use `dl_iterate_phdr(3)` to find the mapping containing
`__node_text_start` instead of parsing `/proc/self/maps`.
Signed-off-by: Gabriel Schulhof <gabriel.schulhof@intel.com >
Co-Authored-By: Ben Noordhuis <info@bnoordhuis.nl >
PR-URL: https://github.com/nodejs/node/pull/32244
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: David Carlier <devnexen@gmail.com >
2020-03-15 22:41:20 -07:00
cjihrig
9d1a3b6f60
doc,lib,src,test: make --experimental-report a nop
...
This commit makes the --experimental-report CLI flag a no-op.
PR-URL: https://github.com/nodejs/node/pull/32242
Fixes: https://github.com/nodejs/node/issues/26293
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-03-15 13:29:34 -04:00
cjihrig
a6bd2c2f81
src: unconditionally include report feature
...
This commit removes all #ifdef NODE_REPORT checks in the src
directory.
PR-URL: https://github.com/nodejs/node/pull/32242
Fixes: https://github.com/nodejs/node/issues/26293
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-03-15 13:29:33 -04:00
cjihrig
8617508d6b
src: fix warn_unused_result compiler warning
...
../src/node_file.cc:386:7: warning: ignoring return value of
function declared with 'warn_unused_result'
attribute [-Wunused-result]
PR-URL: https://github.com/nodejs/node/pull/32241
Refs: https://github.com/nodejs/node/pull/31972
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-15 09:51:07 -04:00
Anna Henningsen
605615e5f3
esm: port loader code to JS
...
There is no reason for this to be in C++. Using JavaScript means that
the code is more accessible to more developers, which is important
for any Node.js feature. This also simplifies the code significantly
in some areas. On the technical side, this potentially also enables
making some of the file system operations that are involved
asynchronous.
PR-URL: https://github.com/nodejs/node/pull/32201
Reviewed-By: Bradley Farias <bradley.meck@gmail.com >
Reviewed-By: Guy Bedford <guybedford@gmail.com >
2020-03-13 17:34:43 +01:00
gengjiawen
6dca708699
src: refactor to more safe method
...
PR-URL: https://github.com/nodejs/node/pull/32087
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Jan Krems <jan.krems@gmail.com >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-12 16:55:53 +01:00
Ben Noordhuis
47c2b678b7
src: DRY crypto Update() methods
...
Factor out the common logic into a template function.
Removes approximately six instances of copy/pasted code.
PR-URL: https://github.com/nodejs/node/pull/31767
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2020-03-11 19:30:58 +01:00
Ben Noordhuis
3b9a4035e7
crypto: optimize sign.update() and verify.update()
...
Use `StringBytes::InlineDecoder` to decode strings inputs in C++ land
instead of decoding them to buffers in JS land before passing them on
to the C++ layer. This is what the other update() methods already did.
PR-URL: https://github.com/nodejs/node/pull/31767
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2020-03-11 19:30:56 +01:00
Ben Noordhuis
d09e1da669
src: fix spawnSync CHECK when SIGKILL fails
...
We might not have sufficient privileges to signal the child process
so don't make assumptions about the return value of `uv_process_kill()`.
Example:
node -e 'child_process.spawnSync("sudo", ["ls"], { maxBuffer: 1 })'
No test because:
1. The test needs to run as root (can't invoke sudo), and
2. The parent needs to drop privileges but can't, because
then the child process won't have sufficient privileges.
Fixes: https://github.com/nodejs/node/issues/31747
PR-URL: https://github.com/nodejs/node/pull/31768
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
2020-03-11 19:30:08 +01:00
Gerhard Stoebich
c145b29987
async_hooks: avoid resource reuse by FileHandle
...
Wrap reused read_wrap in a unique async resource to ensure that
executionAsyncResource() is not ambiguous.
PR-URL: https://github.com/nodejs/node/pull/31972
Refs: https://github.com/nodejs/node/pull/30959
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
2020-03-11 19:26:10 +01:00
Eric Bickle
091444a49d
src: fix missing extra ca in tls.rootCertificates
...
Fixes tls.rootCertificates missing certificates loaded from
NODE_EXTRA_CA_CERTS.
Fixes: https://github.com/nodejs/node/issues/32074
PR-URL: https://github.com/nodejs/node/pull/32075
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-11 17:33:01 +01:00
Tobias Nießen
1b9a62cff4
crypto: make DH error messages consistent
...
Refs: https://github.com/nodejs/node/pull/31178
Refs: https://github.com/nodejs/node/pull/31445
PR-URL: https://github.com/nodejs/node/pull/31873
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-11 17:02:47 +01:00
Ben Noordhuis
d2e91778d9
src: fix -Wmaybe-uninitialized compiler warning
...
Turn the `strategy_` method pointer into an enum-based static dispatch.
It's both safer and more secure (no chance of method pointer corruption)
and it helps GCC see that the shift and suffix tables it's complaining
about are unused in single char search mode.
Fixes the following warning:
../src/string_search.h:113:30: warning:
‘search’ may be used uninitialized in this function [-Wmaybe-uninitialized]
return (this->*strategy_)(subject, index);
Fixes: https://github.com/nodejs/node/issues/26733
Refs: https://github.com/nodejs/node/pull/31532
Refs: https://github.com/nodejs/node/pull/31798
PR-URL: https://github.com/nodejs/node/pull/31809
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-11 16:57:53 +01:00
Ben Noordhuis
da6c7ba2f1
src: remove unused include from node_file.cc
...
PR-URL: https://github.com/nodejs/node/pull/31809
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-11 16:57:47 +01:00
Anna Henningsen
61f28fb55e
Revert "src: keep main-thread Isolate attached to platform during Dispose"
...
This reverts commit e460f8cf43 .
It is no longer necessary after the previous commit, and restores
consistency of the call order between the main thread code,
the other call sites, and the documentation.
Refs: https://github.com/nodejs/node/pull/31795
PR-URL: https://github.com/nodejs/node/pull/31853
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2020-03-11 16:39:01 +01:00
Anna Henningsen
8f61eef562
src: discard tasks posted to platform TaskRunner during shutdown
...
Discard tasks silently that are posted when the Isolate is being
disposed.
It is not possible to avoid a race condition window between
unregistering the Isolate with the platform and disposing it
in which background tasks and the Isolate deinit steps themselves
may lead to new tasks being posted. The only sensible action
in that case is discarding the tasks.
Fixes: https://github.com/nodejs/node/issues/31752
Fixes: https://bugs.chromium.org/p/v8/issues/detail?id=10104
Refs: https://chromium-review.googlesource.com/c/v8/v8/+/2061548
Refs: https://github.com/nodejs/node/pull/31795
Refs: https://github.com/nodejs/node/pull/30909
PR-URL: https://github.com/nodejs/node/pull/31853
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
2020-03-11 16:38:56 +01:00
RamanandPatil
d5674fd482
src: elevate v8 namespace
...
PR-URL: https://github.com/nodejs/node/pull/32041
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-11 11:03:52 +05:30
Sam Roberts
811b3a9931
src: use C++ style for struct with initializers
...
Fixes warning on clang 11:
In file included from ../../src/node_http2.cc:6:
../../src/node_http2.h:508:15: warning: anonymous non-C-compatible type given name for linkage purposes by typedef declaration; add a tag name here [-Wnon-c-typedef-for-linkage]
typedef struct {
^
SessionJSFields
../../src/node_http2.h:512:33: note: type is not C-compatible due to this default member initializer
uint32_t max_invalid_frames = 1000;
^~~~
../../src/node_http2.h:514:3: note: type is given name 'SessionJSFields' for linkage purposes by this typedef declaration
} SessionJSFields;
^
PR-URL: https://github.com/nodejs/node/pull/32134
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
2020-03-10 07:17:10 +01:00
Joyee Cheung
192cb7288a
tools: use per-process native Debug() printer in mkcodecache
...
PR-URL: https://github.com/nodejs/node/pull/31884
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-03-10 05:52:39 +08:00
Joyee Cheung
51bc55f2a2
src: implement per-process native Debug() printer
...
This patch adds a per-process native Debug() printer that can be
called when an Environment is not available.
PR-URL: https://github.com/nodejs/node/pull/31884
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-03-10 05:52:38 +08:00
Joyee Cheung
a8772da54d
src: refactor debug category parsing
...
Move the debug category parsing into a new EnabledDebugList class,
so that it can be reused outside of Environment.
PR-URL: https://github.com/nodejs/node/pull/31884
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-03-10 05:52:38 +08:00
Joyee Cheung
e0f5af3937
src: make aliased_buffer.h self-contained
...
aliased_buffer.h uses MultiplyWithOverflowCheck() implemented
in util-inl.h
PR-URL: https://github.com/nodejs/node/pull/31884
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-03-10 05:52:37 +08:00
Andrew Neitsch
9e69d97c60
cli: allow --jitless V8 flag in NODE_OPTIONS
...
This work is modeled on #30094 which allowed
`--disallow-code-generation-from-strings` in `NODE_OPTIONS`.
The `--jitless` v8 option has been supported since 12.0.0. As a v8
option, node automatically picks it up, but there have been a few issues
that were resolved by simply telling users about the option: #26758 ,
This PR:
- allows `--jitless` in `NODE_OPTIONS`
- documents `--jitless`
- moves `--experimental-loader=module` to locally restore alphabetical
order in option documentation
Refs: https://github.com/nodejs/node/pull/30094
Refs: https://github.com/nodejs/node/issues/26758
Refs: https://github.com/nodejs/node/issues/28800
PR-URL: https://github.com/nodejs/node/pull/32100
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-09 13:14:51 -07:00
Gabriel Schulhof and legendecas
c0c81ed204
n-api: define release 6
...
Mark all N-APIs that have been added since version 5 as stable.
PR-URL: https://github.com/nodejs/node/pull/32058
Fixes: https://github.com/nodejs/abi-stable-node/issues/393
Co-Authored-By: legendecas <legendecas@gmail.com >
Signed-off-by: Gabriel Schulhof <gabriel.schulhof@intel.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2020-03-09 11:58:51 -07:00
Harshitha KP
e9fa5ae3a1
src: handle NULL env scenario
...
Convert hard assertion into a throw with a useful error
message in src/module_wrap.cc.
PR-URL: https://github.com/nodejs/node/pull/31899
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-03-09 13:25:02 +01:00
Denys Otrishko
98f44296dc
src: simplify node_worker.cc using new KVStore API
...
PR-URL: https://github.com/nodejs/node/pull/31773
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-09 13:08:16 +01:00
Denys Otrishko
cee145251e
src: improve KVStore API
...
This adds `const char*` based APIs to KVStore to avoid multiple string
conversions (char -> Utf8 -> Local -> char etc.) when possible.
PR-URL: https://github.com/nodejs/node/pull/31773
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-09 13:08:14 +01:00
legendecas
e70705c0f1
src: add missing namespace using statements in node_watchdog.h
...
Although these `using`s can derived from other header files, it will
be better to be self-contained.
PR-URL: https://github.com/nodejs/node/pull/32117
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-03-09 12:55:41 +01:00
Juan José Arboleda
c1e672595f
src: create a getter for kernel version
...
PR-URL: https://github.com/nodejs/node/pull/31732
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-09 12:44:16 +01:00
cjihrig
7bb4f95c1c
src: fix -Wreorder compiler warning
...
../src/node_http_common-inl.h:126:7: warning: field 'token_'
will be initialized after field 'name_' [-Wreorder]
: token_(other.token_),
PR-URL: https://github.com/nodejs/node/pull/32126
Refs: https://github.com/nodejs/node/pull/32069
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2020-03-08 15:17:11 -04:00
cjihrig
3b8d70d924
src: fix -Winconsistent-missing-override warning
...
../src/node_http_common.h:497:8: warning: 'MemoryInfo' overrides a
member function but is not marked 'override' [-Winconsistent-missing-override]
void MemoryInfo(MemoryTracker* tracker) const {
PR-URL: https://github.com/nodejs/node/pull/32126
Refs: https://github.com/nodejs/node/pull/32069
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
2020-03-08 15:17:00 -04:00
James M Snell
434d39dd67
src,http2: introduce node_http_common
...
The nghttp2 and nghttp3 (used in the QUIC implementation) share nearly
identical structs for header handling. However, they differ enough that
they need to be handled slightly different in each case. This PR
includes some elements introduced in the QUIC PR separated out to
make them independently reviewable, and updates the http2 implementation
to use the shared utilities.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/32069
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-03-06 07:19:12 -08:00
James M Snell
ba462c2e1e
src: introduce node_sockaddr
...
Introduce the SocketAddress utility class. The QUIC implementation
makes extensive use of this for handling of socket addresses. It
was separated out to make it generically reusable throughout core
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/32070
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
2020-03-05 12:07:34 -08:00
Harshitha KP
757e2037e7
src: Handle bad callback in asyc_wrap
...
Align with the MaybeLocal<> API contract
PR-URL: https://github.com/nodejs/node/pull/31946
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-05 12:30:29 +05:30
João Reis
cb8898c48f
win: block running on EOL Windows versions
...
Windows 7 and Windows Server 2008 R2 EOL was January 14, 2020.
Windows 8 EOL was January 12, 2016.
Windows 2012 (not R2) is still supported and allowed to run. This
clarifies that support is experimental.
PR-URL: https://github.com/nodejs/node/pull/31954
Reviewed-By: Rod Vagg <rod@vagg.org >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-03-05 03:06:17 +00:00
Anna Henningsen
787143bf3e
src: pass resource object along with InternalMakeCallback
...
This was an oversight in 9fdb6e6aaf .
Fixing this is necessary to make `executionAsyncResource()` work
as expected.
Refs: https://github.com/nodejs/node/pull/30959
Fixes: https://github.com/nodejs/node/issues/32060
PR-URL: https://github.com/nodejs/node/pull/32063
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com >
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-04 17:20:57 -05:00
ConorDavenport
bf7409e974
doc: improve doc/markdown file organization coherence
...
* Updated cpp style guide file name and location and fixed links to
this file.
* Updated collaborator guide file name and location and fixed links
to this file.
* Updated documentation style guide file name and location and updated
links referencing the file.
* Moved files to appropriate location and updated naming style for
some of them.
Fixes: https://github.com/nodejs/node/issues/31741
PR-URL: https://github.com/nodejs/node/pull/31792
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2020-03-04 13:13:07 +00:00
Anna Henningsen
43b7142fed
dgram: make UDPWrap more reusable
...
Allow using the handle more directly for I/O in other parts of
the codebase.
Originally landed in the QUIC repo
Original review metadata:
```
PR-URL: https://github.com/nodejs/quic/pull/165
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
```
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/31871
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
2020-03-03 10:21:19 -08:00
Gabriel Schulhof
987a673395
src: start the .text section with an asm symbol
...
We create an object file in assembly which introduces the symbol
`__node_text_start` into the .text section and place the resulting
object file as the first file the linker encounters. We do this to
ensure that we can recognize the boundaries of the .text section when
attempting to establish the address range to map to large pages.
Additionally, we rename the section containing the remapping code from
`.lpstub` to `lpstub` so as to take advantage of the linker's feature
whereby it inserts the symbol `__start_lpstub` when the section's name
can be rendered as a valid C variable. We need this symbol in order to
avoid self-mapping the remapping code to large pages, because doing so
would cause the process to crash.
PR-URL: https://github.com/nodejs/node/pull/31981
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Signed-off-by: Gabriel Schulhof <gabriel.schulhof@intel.com >
2020-03-02 20:32:19 -08:00
James M Snell
dd8183632d
src: add node_crypto_common and refactor
...
Two things in one on this commit:
(a) For the QUIC implementation, we need to separate out various bits
from node_crypto.cc to allow them to be reused. That's where this
commit starts.
(b) Quite a bit of the node_crypto.cc code was just messy in terms of
it's organization and lack of error handling and use of Local vs.
MaybeLocal. This cleans that up a bit and hopefully makes certain
parts a bit more manageable also.
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/32016
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
2020-03-02 16:27:19 -08:00
James M Snell
eb2fe5ff90
perf,src: add HistogramBase and internal/histogram.js
...
Separating this out from the QUIC PR to allow it to be separately
reviewed. The QUIC implementation makes use of the hdr_histogram
for dynamic performance monitoring. This introduces a BaseObject
class that allows the internal histograms to be accessed on the
JavaScript side and adds a generic Histogram class that will be
used by both QUIC and perf_hooks (for the event loop delay
monitoring).
Signed-off-by: James M Snell <jasnell@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/31988
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
2020-03-02 11:01:00 -08:00