Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v8.16.0 proposal #26933

Merged
merged 34 commits into from Apr 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
a1aff28
deps: cherry-pick 525b396 from V8 upstream
psmarshall Dec 14, 2018
b17819d
doc: update the http.request.setTimeout docs to be accurate
jbunton-atlassian Dec 19, 2018
fbafe8d
test: fix test-repl-envvars
addaleax Dec 26, 2018
759a018
n-api: add API for asynchronous functions
Jun 17, 2018
c5a11dc
n-api: fix compiler warning
cjihrig Jun 29, 2018
3675059
n-api: guard against cond null dereference
Jul 18, 2018
67b6e0d
src: fix may be uninitialized warning in n-api
mhdawson Jul 19, 2018
09b88aa
n-api: remove idle_running from TsFn
ralphtheninja Jul 27, 2018
902b079
n-api: clean up thread-safe function
Aug 11, 2018
6b7cccc
doc: fix optional parameters in n-api.md
ralphtheninja Sep 21, 2018
fe43282
n-api: add missing handle scopes
danbev Oct 31, 2018
60db455
test: mark test_threadsafe_function/test as flaky
gireeshpunathil Nov 29, 2018
d4b6643
test: mark test-cli-node-options flaky on arm
Trott Dec 14, 2018
f6ff8c5
test: fix module loading error for AIX 7.1
richardlau Jan 9, 2019
e936907
build: set `-blibpath:` for AIX
richardlau Jan 11, 2019
1a9582b
tools: allow input for TTY tests
addaleax Sep 24, 2018
ea5628e
process: allow reading from stdout/stderr sockets
addaleax Sep 24, 2018
c56f3ed
test: add stdin writable regression test
addaleax Sep 24, 2018
b4c5435
test: add process.stdin.end() TTY regression test
mcollina Sep 17, 2018
44609d1
n-api: restrict exports by version
kfarnung Dec 7, 2017
d6ffabc
n-api: mark thread-safe function as stable
Jan 22, 2019
1d86261
http: attach reused parser to correct domain
Jan 11, 2019
ac9b8f7
http: fix error check in `Execute()`
mscdex Feb 5, 2019
2b2ad96
n-api: finalize during second-pass callback
Feb 7, 2019
6352288
build: add loader path to rpath for cctest
rubys Sep 29, 2018
c07ba96
build: skip cctest on Windows shared lib build
yhwang Jul 24, 2018
91620b8
tls: fix legacy SecurePair session resumption
bnoordhuis Mar 5, 2019
7573b55
tls: fix legacy SecurePair clienthello race window
bnoordhuis Mar 5, 2019
97cc0fc
deps: V8: cherry-pick 3cc6919
Feb 1, 2019
3128cb7
test: avoid running fsync on directory on AIX
jBarz Jun 13, 2018
eaf474c
test: shared lib build doesn't handle SIGPIPE
yhwang Mar 7, 2018
705935d
assert: fix backport regression
BridgeAR Apr 12, 2019
d3de1ed
n-api: improve performance creating strings
anthony-tuininga Mar 4, 2019
5f93cf7
2019-04-16, Version 8.16.0 'Carbon' (LTS)
MylesBorins Mar 26, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 2 additions & 1 deletion CHANGELOG.md
Expand Up @@ -27,7 +27,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.15.1">8.15.1</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.16.0">8.16.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.15.1">8.15.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.15.0">8.15.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.14.1">8.14.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.14.0">8.14.0</a><br/>
Expand Down
24 changes: 22 additions & 2 deletions common.gypi
Expand Up @@ -88,6 +88,19 @@
['OS=="aix"', {
'cflags': [ '-gxcoff' ],
'ldflags': [ '-Wl,-bbigtoc' ],
'conditions': [
['target_arch=="ppc64"', {
'ldflags': [
'-Wl,-blibpath:/usr/lib:/lib:'
'/opt/freeware/lib/pthread/ppc64'
],
}],
['target_arch=="ppc"', {
'ldflags': [
'-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread'
],
}],
],
}],
['OS == "android"', {
'cflags': [ '-fPIE' ],
Expand Down Expand Up @@ -337,11 +350,18 @@
[ 'OS=="aix"', {
'conditions': [
[ 'target_arch=="ppc"', {
'ldflags': [ '-Wl,-bmaxdata:0x60000000/dsa' ],
'ldflags': [
'-Wl,-bmaxdata:0x60000000/dsa',
'-Wl,-blibpath:/usr/lib:/lib:/opt/freeware/lib/pthread',
],
}],
[ 'target_arch=="ppc64"', {
'cflags': [ '-maix64' ],
'ldflags': [ '-maix64' ],
'ldflags': [
'-maix64',
'-Wl,-blibpath:/usr/lib:/lib:'
'/opt/freeware/lib/pthread/ppc64',
],
}],
],
'ldflags': [ '-Wl,-bbigtoc' ],
Expand Down
2 changes: 1 addition & 1 deletion deps/v8/include/v8-version.h
Expand Up @@ -11,7 +11,7 @@
#define V8_MAJOR_VERSION 6
#define V8_MINOR_VERSION 2
#define V8_BUILD_NUMBER 414
#define V8_PATCH_LEVEL 75
#define V8_PATCH_LEVEL 77

// Use 1 for candidates and 0 otherwise.
// (Boolean macro values are not supported by all preprocessors.)
Expand Down
15 changes: 10 additions & 5 deletions deps/v8/src/profiler/cpu-profiler.cc
Expand Up @@ -326,8 +326,11 @@ void CpuProfiler::StartProcessorIfNotStarted() {
// Disable logging when using the new implementation.
saved_is_logging_ = logger->is_logging_;
logger->is_logging_ = false;

bool codemap_needs_initialization = false;
if (!generator_) {
generator_.reset(new ProfileGenerator(profiles_.get()));
codemap_needs_initialization = true;
CreateEntriesForRuntimeCallStats();
}
processor_.reset(new ProfilerEventsProcessor(isolate_, generator_.get(),
Expand All @@ -341,12 +344,14 @@ void CpuProfiler::StartProcessorIfNotStarted() {
isolate_->set_is_profiling(true);
// Enumerate stuff we already have in the heap.
DCHECK(isolate_->heap()->HasBeenSetUp());
if (!FLAG_prof_browser_mode) {
logger->LogCodeObjects();
if (codemap_needs_initialization) {
if (!FLAG_prof_browser_mode) {
logger->LogCodeObjects();
}
logger->LogCompiledFunctions();
logger->LogAccessorCallbacks();
LogBuiltins();
}
logger->LogCompiledFunctions();
logger->LogAccessorCallbacks();
LogBuiltins();
// Enable stack sampling.
processor_->AddCurrentStack(isolate_);
processor_->StartSynchronously();
Expand Down
16 changes: 13 additions & 3 deletions deps/v8/src/regexp/ppc/regexp-macro-assembler-ppc.cc
Expand Up @@ -142,8 +142,13 @@ int RegExpMacroAssemblerPPC::stack_limit_slack() {

void RegExpMacroAssemblerPPC::AdvanceCurrentPosition(int by) {
if (by != 0) {
__ addi(current_input_offset(), current_input_offset(),
Operand(by * char_size()));
if (is_int16(by * char_size())) {
__ addi(current_input_offset(), current_input_offset(),
Operand(by * char_size()));
} else {
__ mov(r0, Operand(by * char_size()));
__ add(current_input_offset(), r0, current_input_offset());
}
}
}

Expand Down Expand Up @@ -1270,7 +1275,12 @@ void RegExpMacroAssemblerPPC::LoadCurrentCharacterUnchecked(int cp_offset,
Register offset = current_input_offset();
if (cp_offset != 0) {
// r25 is not being used to store the capture start index at this point.
__ addi(r25, current_input_offset(), Operand(cp_offset * char_size()));
if (is_int16(cp_offset * char_size())) {
__ addi(r25, current_input_offset(), Operand(cp_offset * char_size()));
} else {
__ mov(r25, Operand(cp_offset * char_size()));
__ add(r25, r25, current_input_offset());
}
offset = r25;
}
// The lwz, stw, lhz, sth instructions can do unaligned accesses, if the CPU
Expand Down
45 changes: 45 additions & 0 deletions doc/api/errors.md
Expand Up @@ -1107,6 +1107,31 @@ multiple of the element size.
While calling `napi_create_typedarray()`, `(length * size_of_element) +
byte_offset` was larger than the length of given `buffer`.

<a id="ERR_NAPI_TSFN_CALL_JS"></a>
### ERR_NAPI_TSFN_CALL_JS

An error occurred while invoking the JavaScript portion of the thread-safe
function.

<a id="ERR_NAPI_TSFN_GET_UNDEFINED"></a>
### ERR_NAPI_TSFN_GET_UNDEFINED

An error occurred while attempting to retrieve the JavaScript `undefined`
value.

<a id="ERR_NAPI_TSFN_START_IDLE_LOOP"></a>
### ERR_NAPI_TSFN_START_IDLE_LOOP

On the main thread, values are removed from the queue associated with the
thread-safe function in an idle loop. This error indicates that an error
has occurred when attemping to start the loop.

<a id="ERR_NAPI_TSFN_STOP_IDLE_LOOP"></a>
### ERR_NAPI_TSFN_STOP_IDLE_LOOP

Once no more items are left in the queue, the idle loop must be suspended. This
error indicates that the idle loop has failed to stop.

<a id="ERR_NO_ICU"></a>
### ERR_NO_ICU

Expand Down Expand Up @@ -1147,12 +1172,32 @@ A call was made and the UDP subsystem was not running.
<a id="ERR_STDERR_CLOSE"></a>
### ERR_STDERR_CLOSE

<!-- YAML
removed: v8.16.0
changes:
- version: v8.16.0
pr-url: https://github.com/nodejs/node/pull/23053
description: Rather than emitting an error, `process.stderr.end()` now
only closes the stream side but not the underlying resource,
making this error obsolete.
-->

An attempt was made to close the `process.stderr` stream. By design, Node.js
does not allow `stdout` or `stderr` streams to be closed by user code.

<a id="ERR_STDOUT_CLOSE"></a>
### ERR_STDOUT_CLOSE

<!-- YAML
removed: v8.16.0
changes:
- version: v8.16.0
pr-url: https://github.com/nodejs/node/pull/23053
description: Rather than emitting an error, `process.stderr.end()` now
only closes the stream side but not the underlying resource,
making this error obsolete.
-->

An attempt was made to close the `process.stdout` stream. By design, Node.js
does not allow `stdout` or `stderr` streams to be closed by user code.

Expand Down
5 changes: 3 additions & 2 deletions doc/api/http.md
Expand Up @@ -625,8 +625,9 @@ added: v0.5.9
* `timeout` {number} Milliseconds before a request times out.
* `callback` {Function} Optional function to be called when a timeout occurs. Same as binding to the `timeout` event.

Once a socket is assigned to this request and is connected
[`socket.setTimeout()`][] will be called.
If no socket is assigned to this request then [`socket.setTimeout()`][] will be
called immediately. Otherwise [`socket.setTimeout()`][] will be called after the
assigned socket is connected.

Returns `request`.

Expand Down