platform/upstream/nodejs.git
9 years agobuild: remove artefacts on distclean
Johan Bergström [Tue, 13 Jan 2015 03:24:32 +0000 (14:24 +1100)]
build: remove artefacts on distclean

since .pkg-files already lives in out/ they're already gone. instead of
moving artefacts into out/ (which might mess with upload scripts),
delete their current location.

PR-URL: https://github.com/iojs/io.js/pull/323
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotest: fs.createReadStream().destroy() fd leak
Rod Vagg [Thu, 4 Dec 2014 05:37:36 +0000 (16:37 +1100)]
test: fs.createReadStream().destroy() fd leak

PR-URL: https://github.com/iojs/io.js/pull/56
Reviewed-By: Rod Vagg <rod@vagg.org>
See PR for long discussion

9 years agofs: fix fd leak in ReadStream.destroy()
Alex Kocharin [Thu, 14 Aug 2014 20:29:56 +0000 (00:29 +0400)]
fs: fix fd leak in ReadStream.destroy()

PR-URL: https://github.com/iojs/io.js/pull/56
Reviewed-By: Rod Vagg <rod@vagg.org>
See PR for long discussion

9 years agodoc: add links for http_parser/libuv upgrades
Michael Hart [Fri, 16 Jan 2015 19:04:55 +0000 (14:04 -0500)]
doc: add links for http_parser/libuv upgrades

PR-URL: https://github.com/iojs/io.js/pull/471
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agosrc: remove excessive license boilerplate
Aleksey Smolenchuk [Mon, 26 Jan 2015 21:13:28 +0000 (13:13 -0800)]
src: remove excessive license boilerplate

PR-URL: https://github.com/iojs/io.js/pull/611
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: fix net.Server.listen bind behavior
Andres Suarez [Mon, 19 Jan 2015 02:24:11 +0000 (21:24 -0500)]
doc: fix net.Server.listen bind behavior

PR-URL: https://github.com/iojs/io.js/pull/503
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: update writable streams default encoding
Johnny Ray Austin [Mon, 19 Jan 2015 01:48:32 +0000 (20:48 -0500)]
doc: update writable streams default encoding

Setting the default encoding for a writable stream does
not return a boolean (true if successful or false if not)
as the docs indicate. Instead, if the operation is successful
nothing is returned and the method throws an error when
something goes wrong.

This stems from a contribution that was tweaked but the
docs were never updated accordingly.

PR-URL: https://github.com/iojs/io.js/pull/502
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: fix minor grammar mistake in streams docs
ttrfwork [Mon, 26 Jan 2015 07:32:11 +0000 (10:32 +0300)]
doc: fix minor grammar mistake in streams docs

PR-URL: https://github.com/iojs/io.js/pull/606
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobuild: disable v8 snapshots
Ben Noordhuis [Sat, 24 Jan 2015 00:06:07 +0000 (01:06 +0100)]
build: disable v8 snapshots

Snapshots speed up start-up by a few milliseconds but are potentially
dangerous because of the fixed hash seed that is used for strings and
dictionaries, making collision denial-of-service attacks possible.

Release builds on iojs.org have snapshots disabled but source builds
did not, until now.

The risk for individual source builds is low; the binary gets a random
32 bits hash seed that should be hard to guess by an external attacker.

It's when binaries are distributed by, for example, a distro vendor
that the fixed hash seed becomes a vulnerability, because then it's
possible to target a large group of people at once.

People that really need the faster start-up time can use the new
--with-snapshot configure flag.

PR-URL: https://github.com/iojs/io.js/pull/585
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agoversions: add http-parser patchlevel
Johan Bergström [Mon, 26 Jan 2015 23:08:44 +0000 (10:08 +1100)]
versions: add http-parser patchlevel

PR-URL: https://github.com/iojs/io.js/pull/614
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agochild_process: clone spawn options argument
cjihrig [Fri, 23 Jan 2015 22:18:55 +0000 (17:18 -0500)]
child_process: clone spawn options argument

spawnSync() modifies the options argument. This commit makes
a copy of options before any modifications occur.

Fixes: https://github.com/iojs/io.js/issues/576
PR-URL: https://github.com/iojs/io.js/pull/579
Reviewed-By: Bert Belder <bertbelder@gmail.com>
9 years agodeps: update http_parser to 2.4.2
Fedor Indutny [Sun, 25 Jan 2015 18:23:45 +0000 (21:23 +0300)]
deps: update http_parser to 2.4.2

Fix: https://github.com/iojs/io.js/issues/588
PR-URL: https://github.com/iojs/io.js/pull/604
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: add seishun as a collaborator
Nikolai Vavilov [Sat, 24 Jan 2015 21:38:10 +0000 (23:38 +0200)]
doc: add seishun as a collaborator

PR-URL: https://github.com/iojs/io.js/pull/598
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agochild_process: remove redundant condition
Vladimir Kurchatkin [Mon, 19 Jan 2015 15:48:56 +0000 (18:48 +0300)]
child_process: remove redundant condition

There is no need to check `flowing` since `resume` does
nothing when `flowing` is already true.

PR-URL: https://github.com/iojs/io.js/pull/511
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agohttp: don't bother making a copy of the options
Jonathan Ong [Sat, 24 Jan 2015 18:41:24 +0000 (10:41 -0800)]
http: don't bother making a copy of the options

Alternative to https://github.com/iojs/io.js/pull/592. The `options` object is never overwritten, so making a copy is not necessary.

This solves issues such as https://github.com/petkaantonov/urlparser/issues where the options object is created from a constructor.

PR-URL: https://github.com/iojs/io.js/pull/593
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
9 years agodoc: add vkurchatkin as collaborator
Vladimir Kurchatkin [Sat, 24 Jan 2015 18:29:05 +0000 (21:29 +0300)]
doc: add vkurchatkin as collaborator

PR-URL: https://github.com/iojs/io.js/pull/591
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agoWorking on 1.0.5
Rod Vagg [Sat, 24 Jan 2015 11:40:43 +0000 (22:40 +1100)]
Working on 1.0.5

9 years ago2015-01-24 io.js v1.0.4 Release v1.0.4
Rod Vagg [Sat, 24 Jan 2015 11:33:10 +0000 (22:33 +1100)]
2015-01-24 io.js v1.0.4 Release

Notable changes:

* npm upgrade to 2.3.0 fixes Windows "uid is undefined" errors
* crypto.pseudoRandomBytes() is now an alias for crypto.randomBytes()
  and will block if there is insufficient entropy to produce secure
  values. See https://github.com/iojs/io.js/commit/e5e5980 for details.
* Patch for V8 to properly detect ARMv6; binaries now work again on
  ARMv6 (Raspberry Pi etc.)
* Minor V8 upgrade from 4.1.0.7 to 4.1.0.12
* 'punycode' core module bumped from stability level 2-Unstable,
  to 3-Stable
* Added new collaborators:
  - Thorsten Lorenz (@thlorenz)
  - Stephen Belanger (@qard)
  - Jeremiah Senkpiel (@fishrock123)
  - Evan Lucas (@evanlucas)
  - Brendan Ashworth (@brendanashworth)

9 years agodoc: update "net" section in node to io.js changes
Andres Suarez [Fri, 23 Jan 2015 04:56:16 +0000 (23:56 -0500)]
doc: update "net" section in node to io.js changes

PR-URL: https://github.com/iojs/io.js/pull/567
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotools: remove old updateAuthors.awk script
Rod Vagg [Fri, 23 Jan 2015 23:00:56 +0000 (10:00 +1100)]
tools: remove old updateAuthors.awk script

Using the new tools/update-authors.sh script so this is
redundant

PR-URL: https://github.com/iojs/io.js/pull/582
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: update AUTHORS list
Rod Vagg [Fri, 23 Jan 2015 23:00:12 +0000 (10:00 +1100)]
doc: update AUTHORS list

Update AUTHORS file using tools/update-authors.sh

PR-URL: https://github.com/iojs/io.js/pull/582
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: adds brendanashworth as collaborator
Brendan Ashworth [Sat, 24 Jan 2015 02:25:11 +0000 (18:25 -0800)]
doc: adds brendanashworth as collaborator

Moment of truth?

PR-URL: https://github.com/iojs/io.js/pull/587
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agodoc: add evanlucas to collaborators
Evan Lucas [Fri, 23 Jan 2015 23:01:54 +0000 (17:01 -0600)]
doc: add evanlucas to collaborators

PR-URL: https://github.com/iojs/io.js/pull/581
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: alphabetize all.markdown
Brendan Ashworth [Fri, 23 Jan 2015 03:30:05 +0000 (19:30 -0800)]
doc: alphabetize all.markdown

Previously `toc.markdown` was alphabetized but `all.markdown` was not.

PR-URL: https://github.com/iojs/io.js/pull/566
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodoc: add Fishrock123 to collaborators
Fishrock123 [Fri, 23 Jan 2015 22:40:45 +0000 (17:40 -0500)]
doc: add Fishrock123 to collaborators

PR-URL: #580
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
9 years agodoc: add qard to collaborators
Stephen Belanger [Fri, 23 Jan 2015 22:12:28 +0000 (14:12 -0800)]
doc: add qard to collaborators

PR-URL: #578
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodeps: make node-gyp work again on windows
Bert Belder [Thu, 15 Jan 2015 00:39:30 +0000 (01:39 +0100)]
deps: make node-gyp work again on windows

* Fetch from the correct url.
* Link compiled addons with iojs.lib instead of node.lib.
* Disable checksum checks for iojs.lib until our website supports
  them.

PR: https://github.com/iojs/io.js/pull/422
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-by: Rod Vagg <rod@vagg.org>
9 years agodeps: make node-gyp fetch tarballs from iojs.org
Ben Noordhuis [Tue, 13 Jan 2015 22:22:49 +0000 (23:22 +0100)]
deps: make node-gyp fetch tarballs from iojs.org

Apply a small patch that makes node-gyp fetch the tarballs from
https://iojs.org/ instead of http://nodejs.org/

A patch better suited for inclusion upstream will be put together
shortly.

PR-URL: https://github.com/iojs/io.js/pull/343
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodeps: upgrade npm to 2.3.0
Forrest L Norvell [Fri, 23 Jan 2015 14:56:30 +0000 (06:56 -0800)]
deps: upgrade npm to 2.3.0

* Windows improvements: no more uid is undefined errors, use `%COMSPEC%`
  when set in preference to hardcoded `cmd`, improved handling of Git
  remotes.
* Add caching based on Last-Modified / If-Modified-Since headers in
  addition to Etag-based cache validation.

PR-URL: https://github.com/iojs/io.js/pull/573
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodoc: adding thlorenz to list of collaborators
Thorsten Lorenz [Fri, 23 Jan 2015 21:47:57 +0000 (16:47 -0500)]
doc: adding thlorenz to list of collaborators

Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>, Jeremiah Senkpiel <fishrock123@rocketmail.com>, Bert Belder <bertbelder@gmail.com>
PR-URL: https://github.com/iojs/io.js/pull/577

9 years agolib: move default address logic to `net._listen2`
Vladimir Kurchatkin [Wed, 21 Jan 2015 12:38:44 +0000 (15:38 +0300)]
lib: move default address logic to `net._listen2`

When address is not provided to `server.listen()`, `_connectionKey` and
error messages should include actual address and correct family.

PR-URL: https://github.com/iojs/io.js/pull/539
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: delete parallel/test-process-active-wraps
Ben Noordhuis [Fri, 23 Jan 2015 16:31:48 +0000 (17:31 +0100)]
test: delete parallel/test-process-active-wraps

It is supposed to test an internal debug feature but what it effectively
ends up testing, is the exact lifecyle of different kinds of internal
handles.

Lifecycles are different across releases and platforms, making the test
fail intermittently or, in some environments, consistently.  It's not a
good test, delete it.

PR-URL: https://github.com/iojs/io.js/pull/575
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agotest: fix parallel/test-http-destroyed-socket-write2
Ben Noordhuis [Fri, 23 Jan 2015 16:14:36 +0000 (17:14 +0100)]
test: fix parallel/test-http-destroyed-socket-write2

Ameliorate a timing sensitivity issue by switching from setImmediate()
to setTimeout() with a 50 ms timeout.

This commit also adds EPIPE as an accepted error (besides ECONNABORT
and ECONNRESET) because that's a plausible outcome given the timing
sensitive nature of test.

PR-URL: https://github.com/iojs/io.js/pull/575
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agotest: fix parallel/test-dgram-error-message-address
Ben Noordhuis [Fri, 23 Jan 2015 16:11:14 +0000 (17:11 +0100)]
test: fix parallel/test-dgram-error-message-address

The test expects EADDRNOTAVAIL when trying to bind to address 111::1.
Systems that have IPv6 disabled throw EAFNOSUPPORT instead, however.
Update the test accordingly.

PR-URL: https://github.com/iojs/io.js/pull/575
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodebugger: don't override module binding
Vladimir Kurchatkin [Fri, 23 Jan 2015 14:09:42 +0000 (17:09 +0300)]
debugger: don't override module binding

Overriding module argument with const causes a SyntaxError. This
commit changes the variable name to remove the error.

PR-URL: https://github.com/iojs/io.js/pull/572
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agostream: use nop as write() callback if omitted
cjihrig [Fri, 23 Jan 2015 01:46:43 +0000 (20:46 -0500)]
stream: use nop as write() callback if omitted

This commit introduces a nop function that is used as the
Writable.prototype.write() callback when one is not provided.
This saves on function object creation.

PR-URL: https://github.com/iojs/io.js/pull/564
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: dns.lookupService has wrong header level
Icer Liang [Thu, 22 Jan 2015 07:10:09 +0000 (15:10 +0800)]
doc: dns.lookupService has wrong header level

PR-URL: https://github.com/iojs/io.js/pull/552
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: note in docs about missing interfaces
Todd Kennedy [Wed, 21 Jan 2015 19:32:37 +0000 (14:32 -0500)]
doc: note in docs about missing interfaces

Update the documentation for `os.networkInterfaces` to note that any
interface that has not been assigned an address will not be displayed in
the results

Fixes: https://github.com/iojs/io.js/issues/498
PR-URL: https://github.com/iojs/io.js/pull/543
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: bump punycode api stability to 'stable'
Ben Noordhuis [Fri, 16 Jan 2015 18:36:59 +0000 (19:36 +0100)]
doc: bump punycode api stability to 'stable'

The punycode library has been in the tree for over three years now and
has been de facto stable for all that time, if not perhaps de jure.
Let's make it official.

PR-URL: https://github.com/iojs/io.js/pull/470
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agodoc: add TC meeting 2015-01-21 minutes
Rod Vagg [Thu, 22 Jan 2015 04:45:13 +0000 (15:45 +1100)]
doc: add TC meeting 2015-01-21 minutes

PR-URL: https://github.com/iojs/io.js/pull/549
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agolib,src: make pseudoRandomBytes alias randomBytes
Calvin Metcalf [Thu, 22 Jan 2015 02:30:27 +0000 (21:30 -0500)]
lib,src: make pseudoRandomBytes alias randomBytes

Previously pseudoRandomBytes worked similarly to randomBytes but in the
event of insufficient entropy would silently return non-secure values.

As of f68a116, the entropy pool blocks if there is insufficient entropy
instead of giving an error so there is now no longer a case where
pseudoRandomBytes would act differently than randomBytes.

Docs are updated to remove pseudoRandomBytes and to clarify that
randomBytes now does block instead of erring when entropy is low.

PR-URL: https://github.com/iojs/io.js/pull/557
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agoconfigure: remove unused arm_neon variable
Ben Noordhuis [Thu, 22 Jan 2015 20:52:33 +0000 (21:52 +0100)]
configure: remove unused arm_neon variable

Remove the configure check, the flag was dropped in V8 3.28.

PR-URL: https://github.com/iojs/io.js/pull/559
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agoconfigure: disable vfpv3 on armv6
Ben Noordhuis [Thu, 22 Jan 2015 20:51:38 +0000 (21:51 +0100)]
configure: disable vfpv3 on armv6

VFPv3 is ARMv7-only, enabling it for ARMv6 is therefore always wrong.
Mea culpa, I do believe I'm the original author of that change.

Fixes: https://github.com/iojs/io.js/issues/283
PR-URL: https://github.com/iojs/io.js/pull/559
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodeps: fix v8 armv6 run-time detection
Ben Noordhuis [Thu, 22 Jan 2015 20:50:35 +0000 (21:50 +0100)]
deps: fix v8 armv6 run-time detection

The elf_platform suffix in /proc/cpuinfo moved to the model name field
in Linux 3.8.

Out-of-tree patch pending https://codereview.chromium.org/867713003/

Fixes: https://github.com/iojs/io.js/issues/283
PR-URL: https://github.com/iojs/io.js/pull/559
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodoc: more explicit crypto.pseudoRandomBytes docs
Calvin Metcalf [Wed, 21 Jan 2015 21:34:38 +0000 (16:34 -0500)]
doc: more explicit crypto.pseudoRandomBytes docs

Updates the docs for the crypto.pseudoRandomBytes function
to more explicitly detail how it's the same as crypto.randomBytes
just without a safety net (e.g. it doesn't throw an error when
there is low entropy).

PR-URL: https://github.com/iojs/io.js/pull/545
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agosrc: s/node/io.js/ in `iojs --help` message
Ben Noordhuis [Wed, 21 Jan 2015 12:10:58 +0000 (13:10 +0100)]
src: s/node/io.js/ in `iojs --help` message

Fix up a node reference that was missed in commit daf9562d.

PR-URL: https://github.com/iojs/io.js/pull/538
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodeps: upgrade v8 to 4.1.0.12
Ben Noordhuis [Thu, 22 Jan 2015 11:50:38 +0000 (12:50 +0100)]
deps: upgrade v8 to 4.1.0.12

No out-of-tree patches, yay!

PR-URL: https://github.com/iojs/io.js/pull/555
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodoc: add TC meeting 2015-01-13 minutes
Rod Vagg [Mon, 19 Jan 2015 10:31:54 +0000 (21:31 +1100)]
doc: add TC meeting 2015-01-13 minutes

PR-URL: https://github.com/iojs/io.js/pull/508
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodocs: remove incorrect entry from changelog
Bert Belder [Thu, 22 Jan 2015 01:16:38 +0000 (02:16 +0100)]
docs: remove incorrect entry from changelog

`url.format()` doesn't take a `path` option; the change that
introduced it was reverted in 913addbff5481567262c387cef9594f809e4ef83.

PR: https://github.com/iojs/io.js/pull/546
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
9 years agofs: make fs.access() flags read only
Jackson Tian [Mon, 19 Jan 2015 10:12:16 +0000 (18:12 +0800)]
fs: make fs.access() flags read only

These flags were defined as constants, but could be
overwritten when exported from fs. This commit exports
the flags as read only properties of fs.

PR-URL: https://github.com/iojs/io.js/pull/507
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agolib: use const to define constants
cjihrig [Wed, 21 Jan 2015 16:36:59 +0000 (11:36 -0500)]
lib: use const to define constants

This commit replaces a number of var statements throughout
the lib code with const statements.

PR-URL: https://github.com/iojs/io.js/pull/541
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agov8: fix template literal NULL pointer deref
Ben Noordhuis [Wed, 21 Jan 2015 00:55:19 +0000 (01:55 +0100)]
v8: fix template literal NULL pointer deref

Fixes a NULL pointer dereference with unterminated template literals.

This is a back-port of commit v8/v8-git-mirror@02218ad from the V8
master branch, see https://code.google.com/p/v8/issues/detail?id=3820.

PR-URL: https://github.com/iojs/io.js/pull/534
Reviewed-By: Caitlin Potter <caitpotter88@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agov8: optimize `getHeapStatistics`
Vladimir Kurchatkin [Fri, 16 Jan 2015 16:15:17 +0000 (19:15 +0300)]
v8: optimize `getHeapStatistics`

Since setting object properties in C++ can be slow, pass
data to JS using preallocated smalloc buffer and create
object in JS instead.

PR-URL: https://github.com/iojs/io.js/pull/469
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agobenchmark: print score to five decimal places
Yosuke Furukawa [Mon, 19 Jan 2015 19:12:29 +0000 (04:12 +0900)]
benchmark: print score to five decimal places

PR-URL: https://github.com/iojs/io.js/pull/516
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agosrc: silence clang warnings
Trevor Norris [Tue, 20 Jan 2015 23:23:37 +0000 (15:23 -0800)]
src: silence clang warnings

Mark several methods "override" in order to remove build warnings.

PR-URL: https://github.com/iojs/io.js/pull/531
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agosrc: set node_is_initialized in node::Init
Cheng Zhao [Mon, 12 Jan 2015 21:31:25 +0000 (13:31 -0800)]
src: set node_is_initialized in node::Init

This can make node_is_initialized correctly set to true for applications
that use node::Init to embed iojs.

PR-URL: https://github.com/iojs/io.js/pull/225/
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agosrc: clean up unused macros in node_file.cc
Ben Noordhuis [Tue, 20 Jan 2015 22:57:09 +0000 (23:57 +0100)]
src: clean up unused macros in node_file.cc

Remove a few unused or barely used macros from src/node_file.cc.

PR-URL: https://github.com/iojs/io.js/pull/529
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: rename ASSERT macros in node_crypto.cc
Ben Noordhuis [Tue, 20 Jan 2015 22:55:35 +0000 (23:55 +0100)]
src: rename ASSERT macros in node_crypto.cc

Rename the misnomers ASSERT_IS_STRING_OR_BUFFER and ASSERT_IS_BUFFER.
Said macros don't assert, they throw a TypeError and return.

PR-URL: https://github.com/iojs/io.js/pull/529
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: add ASSERT_EQ style macros
Ben Noordhuis [Tue, 20 Jan 2015 22:54:03 +0000 (23:54 +0100)]
src: add ASSERT_EQ style macros

Add ASSERT counterparts to the CHECK_EQ/CHECK_NE/etc. family of macros.

PR-URL: https://github.com/iojs/io.js/pull/529
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agolib: fix TypeError with EventEmitter#on() abuse
Ben Noordhuis [Tue, 20 Jan 2015 18:30:50 +0000 (19:30 +0100)]
lib: fix TypeError with EventEmitter#on() abuse

Commit 2931348 added EventEmitter#getMaxListeners() but introduced a
regression when people abuse EventEmitter.prototype.on.call() to call
EventEmitter#on() on a non-EE object.  Add a workaround for that.

Fixes: https://github.com/iojs/io.js/issues/523
PR-URL: https://github.com/iojs/io.js/pull/527
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agotest: fix event-emitter-get-max-listeners style
Ben Noordhuis [Tue, 20 Jan 2015 18:24:36 +0000 (19:24 +0100)]
test: fix event-emitter-get-max-listeners style

Add missing commas in parallel/test-event-emitter-get-max-listeners.

Comma-less style is fine and dandy but it throws off vim's autoindent.

PR-URL: https://github.com/iojs/io.js/pull/527
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agotest: strip copyright boilerplate
Ben Noordhuis [Tue, 20 Jan 2015 18:19:24 +0000 (19:19 +0100)]
test: strip copyright boilerplate

Commit 3e1b1dd missed a few files in test/parallel, this commit
rectifies that.

Only test/parallel/test-url.js still has a copyright header.  I left
it in because the original author is neither an io.js contributor nor
a StrongLoop employee.

PR-URL: https://github.com/iojs/io.js/pull/527
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agofs: define constants with const
cjihrig [Tue, 20 Jan 2015 04:01:42 +0000 (23:01 -0500)]
fs: define constants with const

Define fs constants using const, as the newer version of
v8 supports it, and appears to be capable of optimizing.

PR-URL: https://github.com/iojs/io.js/pull/522
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on 1.0.4
Rod Vagg [Tue, 20 Jan 2015 01:36:53 +0000 (12:36 +1100)]
Working on 1.0.4

9 years ago2015-01-20 io.js v1.0.3 Release v1.0.3
Rod Vagg [Tue, 20 Jan 2015 01:35:12 +0000 (12:35 +1100)]
2015-01-20 io.js v1.0.3 Release

Notable changes

* V8 upgrade from 3.31 to 4.1, this is not a major upgrade, the version number "4.1" signifies tracking towards Chrome 41. The 3.31 branch is now not tracking towards a stable release.
* Re-enable Windows XP / 2003 support
* npm upgrade to 2.2.0
* Improved FreeBSD support

9 years agosrc: fix inconsistency between a check and error
toastynerd [Mon, 19 Jan 2015 18:17:45 +0000 (10:17 -0800)]
src: fix inconsistency between a check and error

dlopen takes exactly 2 arguments, check for exactly 2

PR-URL: https://github.com/iojs/io.js/pull/515
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agofs: add error code on null byte paths
cjihrig [Mon, 19 Jan 2015 21:50:43 +0000 (16:50 -0500)]
fs: add error code on null byte paths

This commit adds a code field to the error returned by
nullCheck().

Fixes: https://github.com/iojs/io.js/issues/517
PR-URL: https://github.com/iojs/io.js/pull/519
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agonet: fix error details in connect()
cjihrig [Mon, 19 Jan 2015 18:02:18 +0000 (13:02 -0500)]
net: fix error details in connect()

3ac494195319efb9c923c0ee89b6e0f2617d53ef introduced a
bug as it attempted to access properties of an
undefined variable. This commit cleans up the offending
code.

Fixes: https://github.com/iojs/io.js/issues/510
PR-URL: https://github.com/iojs/io.js/pull/514
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agowin,build: remove duplicate definition
Bert Belder [Mon, 19 Jan 2015 16:25:23 +0000 (17:25 +0100)]
win,build: remove duplicate definition

The duplicate warning was fixed by e1fe270, but returned as of 9f45799.
Hopefully this will fix the issue for good.

PR: https://github.com/iojs/io.js/pull/512
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
9 years agowin: bring back xp/2k3 support
Bert Belder [Mon, 19 Jan 2015 15:53:56 +0000 (16:53 +0100)]
win: bring back xp/2k3 support

Chrome still runs on Windows XP, so there is no reason that iojs
couldn't.

PR: https://github.com/iojs/io.js/pull/512
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
9 years agocluster: avoid race enabling debugger in worker
Timothy J Fontaine [Thu, 15 Jan 2015 23:14:16 +0000 (23:14 +0000)]
cluster: avoid race enabling debugger in worker

Previously if a worker's state machine had already transitioned into the
'listening' state when it received the message enabling the debugger,
the worker would never enable its debugger.

Change the logic to allow the 'listening' as a valid state for enabling
the debugger.

Fixes: https://github.com/joyent/node/issues/6440
Original-PR-URL: https://github.com/joyent/node/pull/9037
Signed-off-by: Julien Gilli <julien.gilli@joyent.com>
Fixes: https://github.com/iojs/io.js/issues/340
PR-URL: https://github.com/iojs/io.js/pull/501
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotest: reland changes from 11c1bae
Ben Noordhuis [Mon, 19 Jan 2015 00:14:02 +0000 (01:14 +0100)]
test: reland changes from 11c1bae

Reland the changes from commit 11c1bae ("lib: make --debug-port work
with cluster") that were temporarily backed out to cherry-pick commits
from joyent/node.

PR-URL: https://github.com/iojs/io.js/pull/501
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotest: debug-signal-cluster should not be racey
Timothy J Fontaine [Thu, 15 Jan 2015 23:19:32 +0000 (23:19 +0000)]
test: debug-signal-cluster should not be racey

unref one superfluous timer (as the test suite already has a global
timeout), and improve the state machine to iterate the messages more
reliably.

Ultimately make the test complete more quickly.

Original-PR-URL: [unknown]
Signed-off-by: Julien Gilli <julien.gilli@joyent.com>
PR-URL: https://github.com/iojs/io.js/pull/501
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotest: temporarily back out changes from 11c1bae
Ben Noordhuis [Sun, 18 Jan 2015 23:57:39 +0000 (00:57 +0100)]
test: temporarily back out changes from 11c1bae

Temporarily revert the changes to test/ from commit 11c1bae ("lib: make
--debug-port work with cluster") to ease cherry-picks from joyent/node.

PR-URL: https://github.com/iojs/io.js/pull/501
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotest: move sequential/test-debug-port-from-cmdline
Ben Noordhuis [Sun, 18 Jan 2015 23:51:27 +0000 (00:51 +0100)]
test: move sequential/test-debug-port-from-cmdline

Move sequential/test-debug-port-from-cmdline to test/parallel.  Per the
previous commit, it should now be possible to run the test in parallel
with other debugger tests.

PR-URL: https://github.com/iojs/io.js/pull/501
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotest: fix test-debug-port-from-cmdline.js
Julien Gilli [Fri, 16 Jan 2015 22:29:01 +0000 (14:29 -0800)]
test: fix test-debug-port-from-cmdline.js

Make this test less prone to race conditions by using synchronous
interprocess communication instead of a timer to determine when the
child process is ready to receive messages from its parent.

Also, remove a superfluous timer since the tests suite already makes
tests time out after a while.

Original-PR-URL: https://github.com/joyent/node/pull/9049
Reviewed-By: Timothy J Fontaine <tjfontaine@gmail.com>
PR-URL: https://github.com/iojs/io.js/pull/501
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agorepl: make REPL support multiline template literals
Xiaowei Li [Mon, 19 Jan 2015 05:42:05 +0000 (13:42 +0800)]
repl: make REPL support multiline template literals

Let REPL enter multiline mode if user's input contains unterminated
template literals.

PR-URL: https://github.com/iojs/io.js/pull/333
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: remove unused variable
Johan Bergström [Mon, 19 Jan 2015 04:48:43 +0000 (15:48 +1100)]
build: remove unused variable

PR-URL: https://github.com/iojs/io.js/pull/505
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: add optional sudo to make install in README
Glen Keane [Thu, 15 Jan 2015 14:42:54 +0000 (14:42 +0000)]
doc: add optional sudo to make install in README

PR-URL: https://github.com/iojs/io.js/pull/444
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobuild: shorten configurate script print on stdout
Roman Reiss [Sun, 18 Jan 2015 17:48:21 +0000 (18:48 +0100)]
build: shorten configurate script print on stdout

Reduces the previously pretty-printed configuration dictionary to a
single line wrapped at 78 characters. This makes warning messages which
appear before this print more visible to the user.

PR-URL: https://github.com/iojs/io.js/pull/483
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
9 years agodeps: fix V8 debugger bugs
Jay Jaeho Lee [Sun, 18 Jan 2015 18:08:47 +0000 (03:08 +0900)]
deps: fix V8 debugger bugs

This is following-up fix for https://codereview.chromium.org/813873007/.
This bug currently breaks node-inspector client to work.

PR-URL: https://github.com/iojs/io.js/pull/494
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: fix util.isBuffer examples
Thomas Jensen [Sun, 18 Jan 2015 18:24:26 +0000 (19:24 +0100)]
doc: fix util.isBuffer examples

util.isPrimitive was used in place of util.isBuffer.

PR-URL: https://github.com/iojs/io.js/pull/496
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobenchmark: fix tcp bench after internal api change
Yosuke Furukawa [Sun, 18 Jan 2015 16:16:05 +0000 (01:16 +0900)]
benchmark: fix tcp bench after internal api change

Fix up the tcp raw benchmarks after an internal API change.

PR-URL: https://github.com/iojs/io.js/pull/495
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobenchmark: stop v8 benchmark clobbering RegExp
Ben Noordhuis [Sat, 17 Jan 2015 19:12:29 +0000 (20:12 +0100)]
benchmark: stop v8 benchmark clobbering RegExp

deps/v8/benchmarks/regexp.js clobbers the RegExp global, breaking
util.format() and console.log().  Unclobber it to keep the other
benchmarks working.

Fixes the following error when running benchmark/misc/v8-bench.js:

    $ out/Release/iojs benchmark/misc/v8-bench.js
    util.js:84
        if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) {
            ^
    TypeError: object is not a function
        at Object.exports.debuglog (util.js:84:9)
        at timers.js:12:29
        at NativeModule.compile (node.js:800:5)
        at NativeModule.require (node.js:769:18)
        at net.js:5:14
        at NativeModule.compile (node.js:800:5)
        at NativeModule.require (node.js:769:18)
        at tty.js:4:11
        at NativeModule.compile (node.js:800:5)
        at Function.NativeModule.require (node.js:769:18)

This could alternatively be addressed by caching the RegExp global
in lib/util.js.  That's not a bad approach and I considered it but
doing it for just RegExp and not other globals would be half-baked.

Maybe the more thorough approach where we cache all globals at
start-up is something for a follow-up pull request.

Fixes: https://github.com/iojs/io.js/pull/475
PR-URL: https://github.com/iojs/io.js/pull/489
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
9 years agodeps: make node-gyp work again on windows
Bert Belder [Thu, 15 Jan 2015 00:39:30 +0000 (01:39 +0100)]
deps: make node-gyp work again on windows

* Fetch from the correct url.
* Link compiled addons with iojs.lib instead of node.lib.
* Disable checksum checks for iojs.lib until our website supports
  them.

PR: https://github.com/iojs/io.js/pull/422
Reviewed-by: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-by: Rod Vagg <rod@vagg.org>
9 years agodeps: make node-gyp fetch tarballs from iojs.org
Ben Noordhuis [Tue, 13 Jan 2015 22:22:49 +0000 (23:22 +0100)]
deps: make node-gyp fetch tarballs from iojs.org

Apply a small patch that makes node-gyp fetch the tarballs from
https://iojs.org/ instead of http://nodejs.org/

A patch better suited for inclusion upstream will be put together
shortly.

PR-URL: https://github.com/iojs/io.js/pull/343
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodeps: upgrade npm to 2.2.0
Forrest L Norvell [Sat, 17 Jan 2015 08:50:09 +0000 (00:50 -0800)]
deps: upgrade npm to 2.2.0

PR-URL: https://github.com/iojs/io.js/pull/479
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agosrc: remove --noharmony_classes again
Ben Noordhuis [Sat, 17 Jan 2015 22:52:52 +0000 (23:52 +0100)]
src: remove --noharmony_classes again

Now that V8 has been upgraded, remove the --noharmony_classes and
--noharmony_object_literals workarounds from commits a2751e3e and
4e58211b.

PR-URL: https://github.com/iojs/io.js/pull/490
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Kenan Sulayman <kenan@sly.mn>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodeps: fix v8 build on FreeBSD
Fedor Indutny [Tue, 13 Jan 2015 15:54:17 +0000 (15:54 +0000)]
deps: fix v8 build on FreeBSD

clang++ on FreeBSD was blaming v8 for using invalid casts from nullptr:

    reinterpret_cast from 'nullptr_t' to '...' is not allowed

Replace casts with NULL, or NULL with 0 where applicable.

Fixes: https://github.com/iojs/io.js/issues/324
PR-URL: https://github.com/iojs/io.js/pull/332
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade v8 to 4.1.0.7
Ben Noordhuis [Sat, 17 Jan 2015 22:02:56 +0000 (23:02 +0100)]
deps: upgrade v8 to 4.1.0.7

This commit upgrades V8 from 3.31.74.1 to 4.1.0.7.  Despite the major
version bump, there are no API or ABI changes, it's a bug fix release
only.

PR-URL: https://github.com/iojs/io.js/pull/490
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Kenan Sulayman <kenan@sly.mn>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobenchmark: add filter option for benchmark
Yosuke Furukawa [Sat, 17 Jan 2015 15:33:07 +0000 (00:33 +0900)]
benchmark: add filter option for benchmark

Before:

    # common.js executes all tests in net directory.
    $ ./iojs common.js net

After:

    # common.js executes only "dgram" tests in net directory.
    $ ./iojs common.js net dgram

PR-URL: https://github.com/iojs/io.js/pull/488
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: fixed punctuation
Brenard Cubacub [Sat, 17 Jan 2015 06:07:12 +0000 (22:07 -0800)]
doc: fixed punctuation

Period ending a sentence should be outside parens

PR-URL: https://github.com/iojs/io.js/pull/476
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agoconfigure: remove --ninja switch
Ben Noordhuis [Fri, 16 Jan 2015 11:56:30 +0000 (12:56 +0100)]
configure: remove --ninja switch

It is unknown if there are any users of the ninja build and keeping it
around makes refactoring the build system more difficult.  It's partly
broken (or at least, deeply inefficient) because it touches out/Makefile
every time.

PR-URL: https://github.com/iojs/io.js/pull/467
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agoconfigure: print warning for old compilers
Ben Noordhuis [Thu, 15 Jan 2015 21:36:38 +0000 (22:36 +0100)]
configure: print warning for old compilers

Try to autodetect the C and C++ compiler and issue a warning when it's
too old to plausibly build io.js.  Emit warnings only because there is
much that can go wrong when trying to invoke a compiler.

PR-URL: https://github.com/iojs/io.js/pull/455
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agodoc: change to iojs from node in the usage message
Jongyeol Choi [Fri, 16 Jan 2015 14:45:37 +0000 (23:45 +0900)]
doc: change to iojs from node in the usage message

PR-URL: https://github.com/iojs/io.js/pull/468
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: add tools/gflags to PYTHONPATH
Shigeki Ohtsu [Fri, 16 Jan 2015 05:41:28 +0000 (14:41 +0900)]
build: add tools/gflags to PYTHONPATH

closure_linter needs the gflags module.

PR-URL: https://github.com/iojs/io.js/pull/464
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: add python-gflags LICENSE block
Shigeki Ohtsu [Fri, 16 Jan 2015 05:40:30 +0000 (14:40 +0900)]
doc: add python-gflags LICENSE block

PR-URL: https://github.com/iojs/io.js/pull/464
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotools: add python-gflags module
Shigeki Ohtsu [Fri, 16 Jan 2015 05:37:52 +0000 (14:37 +0900)]
tools: add python-gflags module

closure_linter needs the gflags module.

PR-URL: https://github.com/iojs/io.js/pull/464
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on v1.0.3
Rod Vagg [Fri, 16 Jan 2015 04:03:42 +0000 (15:03 +1100)]
Working on v1.0.3

9 years ago2015-01-16 io.js v1.0.2 Release v1.0.2 v1.0.2-release
Rod Vagg [Fri, 16 Jan 2015 04:00:22 +0000 (15:00 +1100)]
2015-01-16 io.js v1.0.2 Release

Notable changes:

* Windows installer fixes
* Bundled node-gyp fixes for Windows
* http_parser v2.4.1 upgrade
* libuv v1.2.1 upgrade