0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-30 07:27:22 +01:00
Commit Graph

11302 Commits

Author SHA1 Message Date
Brendan Ashworth
1219e7466c lib: reduce process.binding() calls
This commit better handles calls to process.binding() in lib/ by
no longer lazy loading the bindings (the load times themselves are
rather miniscule compared to the load time of V8) and never reloading
the bindings (which is 172 times slower than referencing a variable with
the same value).

PR-URL: https://github.com/iojs/io.js/pull/1367
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-09 10:51:19 -07:00
Jeremiah Senkpiel
69bc1382b7 doc: properly indent http.Agent keepAlive options
Fixes: https://github.com/iojs/io.js/issues/1300
PR-URL: https://github.com/iojs/io.js/pull/1384
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-04-09 11:23:39 -04:00
Roman Reiss
7049d7b474 test: increase timeouts on ARM
This commit introduces platform-specific test timeouts for the ARM
architectures. ARMv6 is notoriously slow so gets very large timeouts on
both the timeout value for each test, as well as certain problematic
individual tests. ARMv7 and ARMv8 also get slightly increased headroom.

PR-URL: https://github.com/iojs/io.js/pull/1366
Fixes: https://github.com/iojs/io.js/issues/1343
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-09 15:10:34 +02:00
Jackson Tian
d2b62a4973 benchmark: don't check wrk in non-http benchmark
When running a non-http benchmark, there is no need the check for the
wrk tool so move the wrk check into the http method.

PR-URL: https://github.com/iojs/io.js/pull/1368
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-09 12:09:09 +02:00
Roman Reiss
b464d467a2 doc: update curl usage in COLLABORATOR_GUIDE
Github now redirects the patch urls hosted on github.com, making it
necessary to enable curl redirect handling to obtain patches in the
merge process.

Example (before and after):
https://github.com/iojs/io.js/pull/1382.patch
https://patch-diff.githubusercontent.com/raw/iojs/io.js/pull/1382.patch

PR-URL: https://github.com/iojs/io.js/pull/1382
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-09 11:47:55 +02:00
Andrew Crites
61c0e7b70f doc: update CONTRIBUTING links.
* Correct link to current collaborator list
* Correct link to Rust CoC

PR-URL: https://github.com/iojs/io.js/pull/1380
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-04-09 11:33:28 +02:00
Rod Vagg
8d467e521c doc: add TC meeting 2015-03-18 minutes
PR-URL: https://github.com/iojs/io.js/pull/1370
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-09 13:36:16 +10:00
Rod Vagg
8ba9c4a7c2 doc: add TC meeting 2015-04-01 minutes
Closes: https://github.com/iojs/io.js/issues/1311
PR-URL: https://github.com/iojs/io.js/pull/1371
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-09 13:34:45 +10:00
Rod Vagg
48facf93ad doc: update AUTHORS list
Update AUTHORS list using tools/update-authors.sh

PR-URL: https://github.com/iojs/io.js/pull/1372
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-09 12:24:58 +10:00
Fedor Indutny
ff74931107 smalloc: do not track external memory
The memory that was allocated outside of the `smalloc.cc` should not be
tracked using `AdjustAmountOfExternalAllocatedMemory`. There are no
potential issues except triggering V8's GC way too often.

In fact, `heap.js` is creating a buffer out of the pointer, and since it
doesn't know the size of the pointer - it just creates the maximum
possible `Buffer` instance with a no-op free callback and no hint.

PR-URL: https://github.com/iojs/io.js/pull/1375
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-08 17:10:08 +02:00
Ben Noordhuis
264a8f3a1b linux: fix epoll_pwait() fallback on arm64
arm64 doesn't have a epoll_wait() system call but a logic error stopped
libuv from falling back to epoll_pwait().

This bug was introduced in commit libuv/libuv@67bb2b5 ("linux: fix
epoll_pwait() regression with < 2.6.19") which sadly exchanged one
regression for another.

This commit is a back-port of libuv/libuv@1d8332f and should help
get the ARMv8 buildbot in better shape.

Original-PR-URL: https://github.com/libuv/libuv/pull/308
PR-URL: https://github.com/iojs/io.js/pull/1365
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-04-07 16:30:09 +02:00
Ben Noordhuis
3066f2c0c3 test: double test timeout on arm machines
The ARM buildbots are notoriously slow.  Update the test runner to
double the per-test time limit when it's running on one of them.

PR-URL: https://github.com/iojs/io.js/pull/1357
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-04-07 16:18:12 +02:00
Jackson Tian
372bf83818 zlib: make constants keep readonly
In zlib module, a dozen constants were exported to user land,
If user change the constant, maybe lead unexcepted error.

Make them readonly and freezon.

PR-URL: https://github.com/iojs/io.js/pull/1361
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-04-07 23:38:55 +09:00
Johan Bergström
d726a177ed build: Remove building against a shared V8
This action is to encourage packagers to not build against a
shared V8 library since even minor bumps of V8 can create issues.

PR-URL: https://github.com/iojs/io.js/pull/1331
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-07 15:02:42 +10:00
Jeremiah Senkpiel
d72e50a57c Working on v1.6.5 2015-04-06 10:17:44 -04:00
Jeremiah Senkpiel
f3e9da3e69 2015-04-06 io.js v1.6.4 Release
Notable changes:

* npm: upgrade npm to 2.7.5. See the npm CHANGELOG.md for details.
Includes two important security fixes.
https://github.com/npm/npm/blob/master/CHANGELOG.md#v275-2015-03-26
* openssl: preliminary work has been done for an upcoming upgrade to
OpenSSL 1.0.2a #1325 (Shigeki Ohtsu). See #589 for additional details.
* timers: a minor memory leak when timers are unreferenced was fixed,
alongside some related timers issues #1330 (Fedor Indutny). This
appears to have fixed the remaining leak reported in #1075.
* android: it is now possible to compile io.js for Android and related
devices #1307 (Giovanny Andres Gongora Granada).
2015-04-06 10:09:20 -04:00
Oguz Bastemur
ec7fbf2bb2 tools: fix install source path for openssl headers
This part is broken for a very long time. We noticed the problem while
using jxcore native interface with embedded openssl. I've also sent a
pull request to node.js repo. The problem may affect a native addon
using builtin openssl. `opensslconf.h` is overwritten with
`deps/openssl/conf/opensslconf.h`

PR-URL: https://github.com/iojs/io.js/pull/1354
Reviewed-By:  Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-04-06 17:20:36 +09:00
Shigeki Ohtsu
644ece1f67 tools: remove gyp test directory
gyp tests are not performed in iojs and it's size about 8M bytes. We
can check gyp tests outside of iojs and reduce the size of the
repository by removing them.

PR-URL: https://github.com/iojs/io.js/pull/1350
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-04-06 12:31:39 +09:00
Giovanny Andres Gongora Granada
48d69cf1bb Revert "doc: fix typo in CHANGELOG.md"
This reverts commit bde2b3e397.

PR-URL: https://github.com/iojs/io.js/pull/1349
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-05 13:10:58 -04:00
Peter Petrov
679596c848 doc: add Docker WG
A new `Docker` working group is added to `WORKING_GROUPS.md`.
Also, removed the Docker images responsibility from the `Build`
group's description.

PR-URL: https://github.com/iojs/io.js/pull/1134
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-04 15:43:30 -04:00
Kelsey
d8578bad25 doc: fix minor typos in COLLABORATOR_GUIDE.md
PR-URL: https://github.com/iojs/io.js/pull/1320
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-04 14:47:26 -04:00
Giovanny Andres Gongora Granada
bde2b3e397 doc: fix typo in CHANGELOG.md
PR-URL: https://github.com/iojs/io.js/pull/1342
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-04 14:45:13 -04:00
Jeffrey Jagoda
1e94057c05 url: fix resolving from non-file to file URLs.
When resolving a reference URL with the 'file' scheme an no host
against a base URL without the 'file' scheme, the first path element
of the reference URL is used as the host for the target URL. This
results in an invalid target URL.

This change makes an exception for file URLs so that the host is not
mangled during URL resolution.

PR-URL: https://github.com/iojs/io.js/pull/1277
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Petka Antonov <petka_antonov@hotmail.com>
2015-04-04 13:25:32 +03:00
Jeremiah Senkpiel
8c6c376a94 doc: add GPG fingerprint for Fishrock123
PR-URL: https://github.com/iojs/io.js/pull/1324
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 01:14:41 -04:00
Jeremiah Senkpiel
ccbea18960 doc: better formatting for collaborator GPG keys
PR-URL: https://github.com/iojs/io.js/pull/1324
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 01:13:22 -04:00
Shigeki Ohtsu
3a69b7689b benchmark: add rsa/aes-gcm performance test
PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 12:37:26 +09:00
Shigeki Ohtsu
1c709f3aa9 benchmark: add/remove hash algorithm
add sha1, sha512 algorithm and remove md5

PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 12:37:26 +09:00
Shigeki Ohtsu
f782824d48 deps: refactor openssl.gyp
Updated gyp has "else if" syntax in condition. Use this for
target_arch and OS switches. Several sources, defines, rules and
libraries variables moved to gypi files.

PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 12:37:26 +09:00
Shigeki Ohtsu
eb459c8151 tools: fix gyp to work on MacOSX without XCode
This issue has already submitted to the upstream in
https://code.google.com/p/gyp/issues/detail?id=477
Use this commit until the upstream is to be fixed.

PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 12:37:26 +09:00
Fedor Indutny
15f058f609 gyp: fix build with python 2.6
Fixes: https://github.com/joyent/node/issues/6859
PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2015-04-04 12:36:53 +09:00
Shigeki Ohtsu
21f4fb6215 deps: update gyp to e1c8fcf7
PR-URL: https://github.com/iojs/io.js/pull/1325
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 11:01:26 +09:00
Bert Belder
efadffe861 win,node-gyp: optionally allow node.exe/iojs.exe to be renamed
On Windows, when node or io.js attempts to dynamically load a compiled
addon, the compiled addon tries to load node.exe or iojs.exe again -
depending on which import library the module used when it was linked.
This causes many compiled addons to break when node.exe or iojs.exe are
renamed, because when the binary has been renamed the addon DLL can't
find the (right) .exe file to load its imports from.

This patch gives compiled addon developers an option to overcome this
restriction by compiling a delay-load hook into their binary. The
delay-load hook ensures that whenever a module tries to load imports
from node.exe/iojs.exe, it'll just look at the process image, thereby
making the addon work regardless of what name the node/iojs binary has.

To enable this feature, the addon developer must set the
'win_delay_load_hook' option to 'true' in their binding.gyp file, like
this:

```
{
  'targets': [
    {
      'target_name': 'ernie',
      'win_delay_load_hook': 'true',
      ...
```

Bug: https://github.com/iojs/io.js/issues/751
Bug: https://github.com/iojs/io.js/issues/965
Upstream PR: https://github.com/TooTallNate/node-gyp/pull/599

PR-URL: https://github.com/iojs/io.js/pull/1251
Reviewed-By: Rod Vagg <rod@vagg.org>

PR-URL: https://github.com/iojs/io.js/pull/1266
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-03 17:11:21 -07:00
cjihrig
dac903f9b6 deps: make node-gyp work with io.js
Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e,
5de334c230, and
da730c76e9. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-03 17:11:21 -07:00
Forrest L Norvell
5eb983e0b3 deps: upgrade npm to 2.7.5
PR-URL: https://github.com/iojs/io.js/pull/1337
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-03 17:09:21 -07:00
Fedor Indutny
416499c872 timers: remove redundant code
PR-URL: https://github.com/iojs/io.js/pull/1330
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2015-04-04 02:31:51 +03:00
Fedor Indutny
6f72d87c27 test: add test for a unref'ed timer leak
PR-URL: https://github.com/iojs/io.js/pull/1330
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2015-04-04 02:31:50 +03:00
Fedor Indutny
d22b2a934a timers: do not restart the interval after close
Partially revert 776b73b243.

Following code crashes after backported timer leak fixes:

```javascript
var timer = setInterval(function() {
  clearInterval(timer);
}, 10);
timer.unref();
```

Note that this is actually tested in a `test-timers-unref.js`, and is
crashing only with 776b73b243.

Calling `clearInterval` leads to the crashes in case of `.unref()`ed
timers, and might lead to a extra timer spin in case of regular
intervals that was closed during the interval callback. All of these
happens because `.unref()`ed timer has it's own `_handle` and was used
after the `.close()`.

PR-URL: https://github.com/iojs/io.js/pull/1330
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2015-04-04 02:31:47 +03:00
Julien Gilli
cca5efb086 timers: don't close interval timers when unrefd
This change fixes a regression introduced by commit
0d051238be, which contained a typo that
would cause every unrefd interval to fire only once.

Fixes: https://github.com/joyent/node/issues/8900
Reviewed-By: Timothy J Fontaine <tjfontaine@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
2015-04-04 02:30:33 +03:00
Trevor Norris
0e061975d7 timers: fix unref() memory leak
The destructor isn't being called for timers that have been unref'd.

Fixes: https://github.com/joyent/node/issues/8364
PR-URL: https://github.com/iojs/io.js/pull/1330
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-04 02:29:57 +03:00
Ali Ijaz Sheikh
b6e22c4bd5 src: setup cluster workers before preloading
We need to process cluster workers before any preload modules is
executed. Otherwise, the child processes are not correctly disovered
as clustered workers inside the preloaded modules.

Fixes: https://github.com/iojs/io.js/issues/1269
PR-URL: https://github.com/iojs/io.js/pull/1314
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-04-04 00:53:45 +02:00
Giovanny Andres Gongora Granada
65d4d25f52 build: default to armv7+vfpv3 for android
Also add Android build instructions to the README.

PR-URL: https://github.com/iojs/io.js/pull/1307
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 00:53:03 +02:00
Aria Stewart
ad937752ee doc,src: remove references to --max-stack-size
Remove obsolete references to the removed --max-stack-size switch.

PR-URL: https://github.com/iojs/io.js/pull/1327
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-04 00:30:30 +02:00
Ben Noordhuis
4a801c211c src: drop homegrown thread pool, use libplatform
Drop the homegrown thread pool that was introduced in commit 50839a0
("v8_platform: provide default v8::Platform impl") and use one from
V8's libplatform library.  Performance is comparable and it removes
a few hundred lines of code.

The calls to v8::platform::PumpMessageLoop() are currently no-ops
because V8 does not (yet?) use v8::Platform::CallOnForegroundThread().

Packagers that link against a shared libv8 now also need to make
libv8_platform available.

PR-URL: https://github.com/iojs/io.js/pull/1329
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-04-04 00:21:39 +02:00
Kohei TAKATA
87053e8aee doc: add back quote to boolean variable 'true'
PR-URL: https://github.com/iojs/io.js/pull/1338
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-04-03 16:10:37 +02:00
Johan Bergström
6a134f7d70 build: avoid passing private flags from pmake
pmake introduces private flags (-J) when passing certain arguments
to it (such as -j). Filter these out before passing to gmake.

PR-URL: https://github.com/iojs/io.js/pull/1334
Reviewed-By: Fedor Indutny <fedor@indutny.com>
2015-04-03 19:38:33 +11:00
Brian White
a081c7c522 benchmark: fix chunky client benchmark execution
This commit fixes a few things for this benchmark:

1. Ensures the temporary directory for the unix socket exists.
2. Prevents the client code from being run directly because the
server script is the one that calls out the client code.
3. Ensures the server is closed once the client benchmarks have
finished.
4. Since this is an http benchmark, it should be moved to the http
benchmarks subdirectory.

PR-URL: https://github.com/iojs/io.js/pull/1257
Reviewed-By: Roman Reiss <me@silverwind.io>
2015-04-03 00:56:45 -04:00
Johan Bergström
f1e5a13516 src: wrap MIN definition in infdef
Some platforms already define this; avoid redefining if that's
the case. Found on OpenBSD 5.6.

PR-URL: https://github.com/iojs/io.js/pull/1322
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-04-02 11:08:54 +11:00
Ben Noordhuis
008078862e deps: check in gtest, add util unit test
Check in a gypified gtest and add a simple unit test to show that the
basic infrastructure is in place.

PR-URL: https://github.com/iojs/io.js/pull/1199
Refs: https://github.com/iojs/io.js/issues/1193
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-04-01 22:35:56 +02:00
Ben Noordhuis
382bd9d2e0 v8: back-port openbsd/amd64 build fix
Cherry-pick https://codereview.chromium.org/856553002 from upstream.

Makes V8 on OpenBSD/amd64 pick up the right V8_INT64_C and V8_UINT64_C
macros.

PR-URL: https://github.com/iojs/io.js/pull/1318
Refs: https://github.com/iojs/io.js/pull/1312
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-04-02 00:28:25 +02:00
Rod Vagg
634e9629a0 doc: add TC meeting minutes 2015-03-04
PR-URL: https://github.com/iojs/io.js/pull/1123
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-01 23:33:22 +11:00