-
Notifications
You must be signed in to change notification settings - Fork 30.5k
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
Master #2775
Closed
Closed
Master #2775
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PR-URL: #2591 Reviewed-By: Sakthipriyan Vairamani <[email protected]>
#2541 fixed flakiness in test-process-argv-0.js. However, it was not removed from the list of flaky tests. This removes it from the list of flaky tests. PR-URL: #2613 Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
PR-URL: #2438 Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
PR-URL: #2625 Reviewed-By: orangemocha - Alexis Campailla <[email protected]> Reviewed-By: joaocgreis - João Reis <[email protected]>
now need to specify "nodejs" or "iojs", also remove .gpg file PR-URL: #2623 Reviewed-By: jbergstroem - Johan Bergström <[email protected]>
to match nodejs.org directory name PR-URL: #2623 Reviewed-By: jbergstroem - Johan Bergström <[email protected]>
new server has "nodejs" and "iojs" directories, upload to the appropriate one PR-URL: #2623 Reviewed-By: jbergstroem - Johan Bergström <[email protected]>
PR-URL: #2623 Reviewed-By: jbergstroem - Johan Bergström <[email protected]>
String concatenation in the assert messages has drastic impact on test runtime. Removal of these messages is unlikely to affect debugging if any breaking changes are made. Previous time to run: $ time ./iojs test/parallel/test-stringbytes-external.js real 0m2.321s user 0m2.256s sys 0m0.092s With fix: $ time ./iojs test/parallel/test-stringbytes-external.js real 0m0.518s user 0m0.508s sys 0m0.008s PR-URL: #2544 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]>
Both pointer arguments to memcmp are defined as non-null and compiler optimizes upon that. PR-URL: #2544 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]>
PR-URL: #2310 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]> Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
PR-URL: #2645 Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]>
ParseArgs sets the first element of v8_args to argv[0], so v8_argc will always be at least 1. This change only calls V8::SetFlagsFromCommandLine if v8_argc > 1, leading to an additional startup improvement of ~5%. PR-URL: #2646 Reviewed-By: trevnorris - Trevor Norris <[email protected]>
Before this change, _unrefActive would keep the unrefList sorted when adding a new timer. Because _unrefActive is called extremely frequently, this linear scan (O(n) at worse) would make _unrefActive show high in the list of contributors when profiling CPU usage. This commit changes _unrefActive so that it doesn't try to keep the unrefList sorted. The insertion thus happens in constant time. However, when a timer expires, unrefTimeout has to go through the whole unrefList because it's not ordered anymore. It is usually not large enough to have a significant impact on performance because: - Most of the time, the timers will be removed before unrefTimeout is called because their users (sockets mainly) cancel them when an I/O operation takes place. - If they're not, it means that some I/O took a long time to happen, and the initiator of subsequents I/O operations that would add more timers has to wait for them to complete. With this change, _unrefActive does not show as a significant contributor in CPU profiling reports anymore. Fixes: nodejs/node-v0.x-archive#8160 Signed-off-by: Timothy J Fontaine <[email protected]> Conflicts: lib/timers.js Fixes: nodejs/node-convergence-archive#23 Ref: #268 PR-URL: #2540 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
Commit 934bfe2 had introduced a regression where node would crash trying to access a null unref timer if a given unref timer's callback would remove other unref timers set to fire in the future. More generally, it makes the unrefTimeout function more solid by not mutating the unrefList while traversing it. Fixes: nodejs/node-v0.x-archive#8897 Conflicts: lib/timers.js Fixes: nodejs/node-convergence-archive#23 Ref: #268 PR-URL: #2540 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
This commit addresses most of the review comments in #2540, which are kept in this separate commit so as to better preserve the prior two patches as they landed in 0.12. This commit: - Fixes a bug with unrefActive timers and disposed domains. - Fixes a bug with unrolling an unrefActive timer from another. - Adds a test for both above bugs. - Improves check logic, making it stricter, simpler, or both. - Optimizes nicer with a smaller, separate function for the try/catch. Fixes: nodejs/node-convergence-archive#23 Ref: #268 PR-URL: #2540 Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
Notable changes: * build: Add a --link-module option to configure that can be used to bundle additional JavaScript modules into a built binary (Bradley Meck) #2497 * docs: Merge outstanding doc updates from joyent/node (James M Snell) #2378 * http_parser: Significant performance improvement by having http.Server consume all initial data from its net.Socket and parsing directly without having to enter JavaScript. Any 'data' listeners on the net.Socket will result in the data being "unconsumed" into JavaScript, thereby undoing any performance gains. (Fedor Indutny) #2355 * libuv: Upgrade to 1.7.3 (from 1.6.1), see https://github.com/libuv/libuv/blob/v1.x/ChangeLog for details (Saúl Ibarra Corretgé) #2310 * V8: Upgrade to 4.4.63.30 (from 4.4.63.26) (Michaël Zasso) #2482 cherry-picked from v3.x @ 1a6e52d PR-URL: #2653 Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
Note: chunk in test-heap.cc:1989 discarded as related code missing from current version in node. Original commit message: Use static_cast<> for NULL (clang 3.7) The following errors come up when compiling v8 with clang 3.7 on FreeBSD/amd64: src/runtime/runtime-i18n.cc:629:37: error: reinterpret_cast from 'nullptr_t' to 'v8::internal::Smi *' is not allowed local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/cctest/test-heap.cc:131:20: error: reinterpret_cast from 'nullptr_t' to 'v8::internal::Object *' is not allowed Handle<Object> n(reinterpret_cast<Object*>(NULL), isolate); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/cctest/test-heap.cc:1989:18: error: reinterpret_cast from 'nullptr_t' to 'Address' (aka 'unsigned char *') is not allowed Address base = reinterpret_cast<Address>(NULL); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +add myself to the AUTHORS file. BUG= Review URL: https://codereview.chromium.org/1277353002 Cr-Commit-Position: refs/heads/master@{#30103} PR-URL: #2636 Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]> Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]>
This test is already being investigated, but until a solution is found it should be marked flaky. Ref: #2319 Ref: #2356 PR-URL: #2659 Reviewed-By: orangemocha - Alexis Campailla <[email protected]>
Ref: #2660 PR-URL: #2662 Reviewed-By: orangemocha - Alexis Campailla <[email protected]>
v8 will silently return an empty handle which doesn't delete our data if string length is above String::kMaxLength Fixes: #1374 PR-URL: #2402 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]> Reviewed-By: bnoordhuis - Ben Noordhuis <[email protected]> Amended by @rvagg to change author date from "1970-08-16 16:09:02 +0200" to "2015-08-16 16:09:02 +0200" as per discussion @ #2713
Add an optional callback parameter to `ChildProcess.prototype.send()` that is invoked when the message has been sent. Juggle the control channel's reference count so that in-flight messages keep the event loop (and therefore the process) alive until they have been sent. `ChildProcess.prototype.send()` and `process.send()` used to operate synchronously but became asynchronous in commit libuv/libuv@393c1c5 ("unix: set non-block mode in uv_{pipe,tcp,udp}_open"), which landed in io.js in commit 07bd05b ("deps: update libuv to 1.2.1"). Fixes: #760 PR-URL: #2620 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: jasnell - James M Snell <[email protected]>
This test has failed recently during a PR test in Jenkins, for reasons seemingly not related to the change in the PR. PR-URL: #2648 Reviewed-By: evanlucas - Evan Lucas <[email protected]>
Fixes: #1972 PR-URL: #2322 Reviewed-By: orangemocha - Alexis Campailla <[email protected]> Reviewed-By: thefourtheye - Sakthipriyan Vairamani <[email protected]>
Fixes: #2113 Ref: 17a379e PR-URL: #2605 Reviewed-By: jasnell - James M Snell <[email protected]> Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: mscdex - Brian White <[email protected]>
This retains the key elements of test-child-process-fork-getconnections (forks a child process, sends a bunch of sockets, uses getConnections() to enumerate them) but contains some code to work around an apparent intermittent bug that occurs on OS X where a socket seems to close itself unexpectedly. #2610 was opened for the bug that was causing the problem in the first place. PR-URL: #2609 Fixes: #1100 Reviewed-By: jbergstroem - Johan Bergström <[email protected]> Reviewed-By: Brendan Ashworth <[email protected]>
Port of joyent/node commits: * nodejs/node-v0.x-archive@e17c5a7 * nodejs/node-v0.x-archive@70dafa7 Pull over test-child-process-spawn-typeerror.js from v0.12, replacing the existing test in master. The new test includes a broader set of tests on the various arg choices and throws. Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: thefourtheye - Sakthipriyan Vairamani PR-URL: #2667 Fixes: #2515
PR-URL: #2376 Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
Now parts of our public and public-ish APIs fall back to old-style listenerCount() if the emitter does not have a listenerCount function. Fixes: #2655 Refs: 8f58fb9 PR-URL: #2661 Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
Pick up v8/v8@f9a0a16 Commit log at https://chromium.googlesource.com/v8/v8.git/+log/branch-heads/4.5 PR-URL: #2632 Reviewed-By: targos - Michaël Zasso <[email protected]> Reviewed-By: rvagg - Rod Vagg <[email protected]>
PR-URL: #2685 Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Fixes a regression that appeared with the new Buffer implementation in v3. Without this change, calling the SlowBuffer constructor with something else than a number would abort on the C++ side. This makes sure that the length argument is coerced to number or is 0. Fixes: #2634 PR-URL: #2635 Reviewed-By: trevnorris - Trevor Norris <[email protected]> Reviewed-By: cjihrig - Colin Ihrig <[email protected]>
Recursive file watching is supported by libuv since 1.7.0. Refer https://github.com/nodejs/node/blob/master/deps/uv/ChangeLog#L126. This patch notes that in the docs and enables testing this feature. It also adds proper TAP plugin parsable message for other platforms. PR-URL: #2649 Fixes: #375 Reviewed-By: rvagg - Rod Vagg <[email protected]> Reviewed-By: silverwind - Roman Reiss <[email protected]>
Long exception lines resulted in a stack buffer overflow or assertion because it was assumed snprintf not counts discarded chars or the assertion itself was incorrect: `(off) >= sizeof(arrow)` PR-URL: #2404 Reviewed-By: Trevor Norris <[email protected]> Reviewed-By: Fedor Indutny <[email protected]>
The version used before returned -1 on truncation which does not conform to the standard. PR-URL: #2404 Reviewed-By: Trevor Norris <[email protected]> Reviewed-By: Fedor Indutny <[email protected]>
- Added NODE_REPL_HISTORY to the environment variables in the --help and made all descriptions start with lower case for consistency. - Added NODE_REPL_HISTORY and NODE_ICU_DATA to the man page. PR-URL: #2690 Reviewed-By: fishrock123 - Jeremiah Senkpiel <[email protected]> Reviewed-By: evanlucas - Evan Lucas <[email protected]>
PR-URL: #2674 Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #2687 Reviewed-By: Jeremiah Senkpiel <[email protected]>
Note: When this was cherry-picked for v8 v4.4 (landed in #2636), test-heap.cc:1989 chunk did not exist. It now exists in v8 v4.5.103.30. This PR completes the cherry pick of the whole commit from v8. PR-URL: #2692 Reviewed-By: ofrobots - Ali Ijaz Sheikh <[email protected]> Original commit message: Use static_cast<> for NULL (clang 3.7) The following errors come up when compiling v8 with clang 3.7 on FreeBSD/amd64: src/runtime/runtime-i18n.cc:629:37: error: reinterpret_cast from 'nullptr_t' to 'v8::internal::Smi *' is not allowed local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL)); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/cctest/test-heap.cc:131:20: error: reinterpret_cast from 'nullptr_t' to 'v8::internal::Object *' is not allowed Handle<Object> n(reinterpret_cast<Object*>(NULL), isolate); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ test/cctest/test-heap.cc:1989:18: error: reinterpret_cast from 'nullptr_t' to 'Address' (aka 'unsigned char *') is not allowed Address base = reinterpret_cast<Address>(NULL); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +add myself to the AUTHORS file. BUG= Review URL: https://codereview.chromium.org/1277353002 Cr-Commit-Position: refs/heads/master@{#30103}
PR-URL: #2696 Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Rod Vagg <[email protected]>
This patch should make the tests pass on the downstreamed npm. PR-URL: #2696 Reviewed-By: Jeremiah Senkpiel <[email protected]> Reviewed-By: Rod Vagg <[email protected]>
cpplint uses the top-level .git directory to determine what the root is for #include guards. If it doesn't find a .git directory, it walks up all the way to the system root and subsequently complains that guards must be written as HOME_USER_SRC_NODE_SRC_FILENAME_H_. This commit replaces the .git-based path munging with a fixed root path relative to the location of the cpplint script, making it possible to successfully run `make test` from an extracted tarball. Fixes: #2693 PR-URL: #2710 Reviewed-By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #2701 Reviewed-By: Joao Reis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]>
Update AUTHORS list using tools/update-authors.sh
It was pointed out by Zhou Ran that the Windows XP implementation of uv_rwlock_rdlock() and friends may unlock the inner write mutex on a different thread than the one that locked it, resulting in undefined behavior. The only place that uses rwlocks is the crypto module. Make that use normal (simple) mutexes instead. OpenSSL's critical sections are generally very short, with exclusive access outnumbering shared access by a factor of three or more, so it's not as if using rwlocks gives a decisive performance advantage. PR-URL: #2723 Reviewed-By: Fedor Indutny <[email protected]>
Previously, in _validateStdio we were using stdio.fd || stdio. If stdio.fd was falsy (or 0 in the case of stdin), then the entire stdio object would be passed which could cause a crash. Fixes: #2721 PR-URL: #2727 Reviewed-By: silverwind - Roman Reiss <[email protected]> Reviewed-By: cjihrig - Colin Ihrig <[email protected]> Reviewed-By: indutny - Fedor Indutny <[email protected]>
PR-URL: #2699 Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Alexis Campailla <[email protected]>
* support process.release * support all io.js versions * support node v4+ including new download locations * enable delay-load hook by default by default * download header-only tarballs instead of full source See nodejs/node-gyp#711 for full details PR-URL: #2700 Reviewed-By: Forrest L Norvell <[email protected]>
PR-URL: #2717 Reviewed-By: Johan Bergström <[email protected]>
Allow listening on reused dgram ports in cluster workers. Fix: nodejs/node-v0.x-archive#9261 PR-URL: #2548 Reviewed-By: Ben Noordhuis <[email protected]>
This a backport of the following commits from the v8's upstream: * 1a8c38c50513f9af07ada479629a653e1cf36ff3 * 206f12abee3f1e7eda8fc6521d48f3c319460ee1 * 9e3676da9ab1aaf7de3e8582cb3fdefcc3dbaf33 Original commit message: heap: make array buffer maps disjoint Remove intersection from the `std::map`s representing current live ArrayBuffers. While being simpler to understand, it poses significant performance issue for the active ArrayBuffer users (like node.js). Store buffers separately, and process them together during mark-sweep phase. The results of benchmarks are: $ ./node-slow bench && ./node-fast bench 4997.4 ns/op 4685.7 ns/op NOTE: `fast` - was a patched node.js, `slow` - unpatched node.js with vanilla v8. PR-URL: #2732 Reviewed-By: Rod Vagg <[email protected]> Reviewed-By: Brian White <[email protected]> Reviewed-By: Roman Reiss <[email protected]>
PR-URL: #2737 Reviewed-By: Jeremiah Senkpiel <[email protected]>
It was previously ignored by features.gypi and therefore enabled by default for release builds. See https://code.google.com/p/chromium/issues/detail?id=318206 PR-URL: #2731 Reviewed-By: Fedor Indutny <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
This fixes a minor typographical error in the Assertion Testing doc. PR-URL: #2728 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Johan Bergström <[email protected]>
This list of changes is relative to the last io.js v3.x branch release, v3.3.0. Please see the list of notable changes in the v3.x, v2.x and v1.x releases for a more complete list of changes from 0.12.x. Note, that some changes in the v3.x series as well as major breaking changes in this release constitute changes required for full convergence of the Node.js and io.js projects. * child_process: ChildProcess.prototype.send() and process.send() operate asynchronously across all platforms so an optional callback parameter has been introduced that will be invoked once the message has been sent, i.e. .send(message[, sendHandle][, callback]) (Ben Noordhuis) #2620. * node: Rename "io.js" code to "Node.js" (cjihrig) #2367. * node-gyp: This release bundles an updated version of node-gyp that works with all versions of Node.js and io.js including nightly and release candidate builds. From io.js v3 and Node.js v4 onward, it will only download a headers tarball when building addons rather than the entire source. (Rod Vagg) #2700. * npm: Upgrade to version 2.14.2 from 2.13.3, includes a security update, see https://github.com/npm/npm/releases/tag/v2.14.2 for more details, (Kat Marchán) #2696. * timers: Improved timer performance from porting the 0.12 implementation, plus minor fixes (Jeremiah Senkpiel) #2540, (Julien Gilli) nodejs/node-v0.x-archive#8751 nodejs/node-v0.x-archive#8905 * util: The util.is*() functions have been deprecated, beginning with deprecation warnings in the documentation for this release, users are encouraged to seek more robust alternatives in the npm registry, (Sakthipriyan Vairamani) #2447. * v8: Upgrade to version 4.5.103.30 from 4.4.63.30 (Ali Ijaz Sheikh) #2632. - Implement new TypedArray prototype methods: copyWithin(), every(), fill(), filter(), find(), findIndex(), forEach(), indexOf(), join(), lastIndexOf(), map(), reduce(), reduceRight(), reverse(), slice(), some(), sort(). See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray for further information. - Implement new TypedArray.from() and TypedArray.of() functions. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray for further information. - Implement arrow functions. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions for further information. - Full ChangeLog available at https://github.com/v8/v8-git-mirror/blob/4.5.103/ChangeLog PR-URL: #2742 Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Brian White <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
FreeBSD does not support the V4MAPPED flag so expect an error. This is a partial fix for #2468. It only fixes it on FreeBSD. Failures on other platforms are due to other reasons and need to be fixed separately. PR-URL: #2724 Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Johan Bergström <[email protected]> Fixes: #2468
This looks bogus. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
FreeBSD does not support the V4MAPPED flag so expect an error.
This is a partial fix for #2468.
It only fixes it on FreeBSD. Failures on other platforms are due to
other reasons and need to be fixed separately.
PR-URL: #2724
Reviewed-By: Sakthipriyan Vairamani [email protected]
Reviewed-By: Johan Bergström [email protected]
Fixes: #2468