platform/upstream/nodejs.git
9 years agobuild: turn on debug-safe optimizations with -Og
Ben Noordhuis [Thu, 30 Apr 2015 17:53:02 +0000 (19:53 +0200)]
build: turn on debug-safe optimizations with -Og

The resulting binary is still easy to inspect in gdb but is not as dog
slow.  The 'parallel' test suite, although it takes several minutes to
complete, now finishes without any tests timing out.

PR-URL: https://github.com/iojs/io.js/pull/1569
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agorepl: add mode detection, cli persistent history
Chris Dickinson [Thu, 23 Apr 2015 07:35:53 +0000 (00:35 -0700)]
repl: add mode detection, cli persistent history

this creates a new internal module responsible for providing
the repl created via "iojs" or "iojs -i," and adds the following
options to the readline and repl subsystems:

* "repl mode" - determine whether a repl is strict mode, sloppy mode,
  or auto-detect mode.
* historySize - determine the maximum number of lines a repl will store
  as history.

The built-in repl gains persistent history support when the
NODE_REPL_HISTORY_FILE environment variable is set. This functionality
is not exposed to userland repl instances.

PR-URL: https://github.com/iojs/io.js/pull/1513
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agobuild: Use option groups in configure output
Johan Bergström [Mon, 27 Apr 2015 04:45:55 +0000 (14:45 +1000)]
build: Use option groups in configure output

Minor edits to current build flags and its help texts as well
as grouping shared and i18n options into separate option groups.

Also, validate i18n default/logic similar to how we treat other
options. `--download` isn't really intl-specific but is only used
for that purpose which is why it's grouped similarly.

PR-URL: https://github.com/iojs/io.js/pull/1533
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Steven R. Loomis <srl@icu-project.org>
9 years agogitignore: ignore xcode workspaces and projects
Roman Klauke [Wed, 29 Apr 2015 17:47:04 +0000 (19:47 +0200)]
gitignore: ignore xcode workspaces and projects

Calling ./configure --xcode creates xcode projects and a
workspace for io.js.

PR-URL: https://github.com/iojs/io.js/pull/1562
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: deprecate smalloc module
Ben Noordhuis [Thu, 30 Apr 2015 09:10:18 +0000 (11:10 +0200)]
doc: deprecate smalloc module

Upcoming V8 changes will make it impossible to keep supporting the
smalloc module so deprecate it now and tell people to switch to
typed arrays.

PR-URL: https://github.com/iojs/io.js/pull/1566
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agotls: destroy singleUse context immediately
Fedor Indutny [Mon, 27 Apr 2015 07:39:48 +0000 (09:39 +0200)]
tls: destroy singleUse context immediately

Destroy singleUse context right after it is going out of use.

Fix: https://github.com/iojs/io.js/issues/1522
PR-URL: https://github.com/iojs/io.js/pull/1529
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agotls: zero SSL_CTX freelist for a singleUse socket
Fedor Indutny [Sun, 26 Apr 2015 12:19:38 +0000 (14:19 +0200)]
tls: zero SSL_CTX freelist for a singleUse socket

When connecting to server with `keepAlive` turned off - make sure that
the read/write buffers won't be kept in a single use SSL_CTX instance
after the socket will be destroyed.

Fix: https://github.com/iojs/io.js/issues/1522
PR-URL: https://github.com/iojs/io.js/pull/1529
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agocrypto: track external memory for SSL structures
Fedor Indutny [Sun, 26 Apr 2015 12:27:46 +0000 (14:27 +0200)]
crypto: track external memory for SSL structures

Ensure that GC kicks in at the right times and the RSS does not blow up.

Fix: https://github.com/iojs/io.js/issues/1522
PR-URL: https://github.com/iojs/io.js/pull/1529
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agotls: destroy SSL once it is out of use
Fedor Indutny [Sun, 26 Apr 2015 12:26:57 +0000 (14:26 +0200)]
tls: destroy SSL once it is out of use

Do not keep SSL structure in memory once socket is closed. This should
lower the memory usage in many cases.

Fix: https://github.com/iojs/io.js/issues/1522
PR-URL: https://github.com/iojs/io.js/pull/1529
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agosrc: deprecate smalloc public functions
Ben Noordhuis [Wed, 29 Apr 2015 18:04:59 +0000 (19:04 +0100)]
src: deprecate smalloc public functions

Upcoming V8 changes will make it impossible to keep supporting the
smalloc functionality so deprecate the functions in smalloc.h now
and tell people to switch to typed arrays.

This commit shuffles code around in smalloc.cc to avoid generating
the deprecation warnings when building io.js itself.

PR-URL: https://github.com/iojs/io.js/pull/1565
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: fix deprecation warnings
Ben Noordhuis [Wed, 29 Apr 2015 18:03:15 +0000 (20:03 +0200)]
src: fix deprecation warnings

The previous commit enables deprecation warnings, this commit fixes
the handful of offending sites where the isolate was not explicitly
being passed around.

PR-URL: https://github.com/iojs/io.js/pull/1565
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: fix NODE_DEPRECATED macro
Ben Noordhuis [Wed, 29 Apr 2015 17:57:41 +0000 (19:57 +0200)]
src: fix NODE_DEPRECATED macro

The NODE_DEPRECATED macro was piggybacking on the V8_DEPRECATED macro
but that macro is silent unless V8_DEPRECATION_WARNINGS is defined,
something io.js doesn't do.  Ergo, no deprecation notices were being
issued.

PR-URL: https://github.com/iojs/io.js/pull/1565
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agolib: deprecate the smalloc module
Ben Noordhuis [Wed, 29 Apr 2015 17:08:19 +0000 (19:08 +0200)]
lib: deprecate the smalloc module

Upcoming V8 changes will make it impossible to keep supporting the
smalloc module so deprecate it now and tell people to switch to
typed arrays.

The module is used in core in a few places so this commit makes the
public module private and replaces the public part with wrappers that
print deprecation notices.

PR-URL: https://github.com/iojs/io.js/pull/1564
Reviewed-By: Domenic Denicola <domenic@domenicdenicola.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
9 years agosrc: add ability to get/set effective uid/gid
Evan Lucas [Mon, 27 Apr 2015 16:24:19 +0000 (11:24 -0500)]
src: add ability to get/set effective uid/gid

Adds the following to process:

- `process.geteuid()`
- `process.seteuid(id)`
- `process.getegid()`
- `process.setegid(id)`

PR-URL: https://github.com/iojs/io.js/pull/1536
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: extend timeouts for ARMv6
Rod Vagg [Wed, 29 Apr 2015 00:55:55 +0000 (10:55 +1000)]
test: extend timeouts for ARMv6

Based on tests running on original Raspberry Pi

PR-URL: https://github.com/iojs/io.js/pull/1554
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agofs: validate fd on fs.write
Julian Duque [Tue, 28 Apr 2015 20:15:41 +0000 (15:15 -0500)]
fs: validate fd on fs.write

PR-URL: #1553
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
9 years agodeps: enable v8 postmortem debugging again
Ben Noordhuis [Fri, 27 Mar 2015 11:05:40 +0000 (12:05 +0100)]
deps: enable v8 postmortem debugging again

Cherry-pick https://codereview.chromium.org/1033733003 from upstream
and re-enable postmortem debugging.

PR-URL: https://github.com/iojs/io.js/pull/1232
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodeps: upgrade v8 to 4.2.77.18
Chris Dickinson [Sat, 25 Apr 2015 00:19:24 +0000 (17:19 -0700)]
deps: upgrade v8 to 4.2.77.18

This commit applies a secondary change in order to make `make test`
pass cleanly, specifically re-disabling post-mortem debugging in
common.gypi.

PR-URL: https://github.com/iojs/io.js/pull/1506
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: upgrade v8 to 4.2.77.15
Ben Noordhuis [Sat, 11 Apr 2015 17:37:48 +0000 (19:37 +0200)]
deps: upgrade v8 to 4.2.77.15

This includes the out-of-tree patch (but fixed in upstream HEAD) from
commit 41c00a2 ("deps: enable v8 postmortem debugging again".)

PR-URL: https://github.com/iojs/io.js/pull/1399
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodeps: enable v8 postmortem debugging again
Ben Noordhuis [Fri, 27 Mar 2015 11:05:40 +0000 (12:05 +0100)]
deps: enable v8 postmortem debugging again

Cherry-pick https://codereview.chromium.org/1033733003 from upstream
and re-enable postmortem debugging.

PR-URL: https://github.com/iojs/io.js/pull/1232
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agodeps: upgrade v8 to 4.2.77.13
Ben Noordhuis [Fri, 27 Mar 2015 11:04:12 +0000 (12:04 +0100)]
deps: upgrade v8 to 4.2.77.13

This commit applies some secondary changes in order to make `make test`
pass cleanly:

* disable broken postmortem debugging in common.gypi

* drop obsolete strict mode test in parallel/test-repl

* drop obsolete test parallel/test-v8-features

PR-URL: https://github.com/iojs/io.js/pull/1232
Reviewed-By: Fedor Indutny <fedor@indutny.com>
9 years agoos: remove trailing slash from os.tmpdir()
Christian Tellnes [Fri, 6 Feb 2015 22:27:22 +0000 (23:27 +0100)]
os: remove trailing slash from os.tmpdir()

This commit makes `os.tmpdir()` behave consistently on all platforms. It
changes `os.tmpdir()` to always return a path without trailing slash.

Semver: major
Fixes: https://github.com/iojs/io.js/issues/715
PR-URL: https://github.com/iojs/io.js/pull/747
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: add TC meeting 2015-04-15 minutes
Rod Vagg [Wed, 22 Apr 2015 05:02:37 +0000 (15:02 +1000)]
doc: add TC meeting 2015-04-15 minutes

PR-URL: #1498
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: Add Known issues to v1.7.0/1.7.1 CHANGELOG
Yosuke Furukawa [Mon, 20 Apr 2015 06:04:55 +0000 (15:04 +0900)]
doc: Add Known issues to v1.7.0/1.7.1 CHANGELOG

PR-URL: https://github.com/iojs/io.js/pull/1473
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agostring_decoder: don't cache Buffer.isEncoding
Brian White [Tue, 28 Apr 2015 14:53:06 +0000 (10:53 -0400)]
string_decoder: don't cache Buffer.isEncoding

Some modules are monkey-patching Buffer.isEncoding, so without this
they cannot do that.

Fixes: https://github.com/iojs/io.js/issues/1547
PR-URL: https://github.com/iojs/io.js/pull/1548
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: fix util.deprecate example
Nick Raienko [Mon, 27 Apr 2015 15:04:11 +0000 (18:04 +0300)]
doc: fix util.deprecate example

PR-URL: https://github.com/iojs/io.js/pull/1535
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Julian Duque <julianduquej@gmail.com>
9 years agobuild: remove -J from test-ci
Rod Vagg [Tue, 28 Apr 2015 05:01:20 +0000 (15:01 +1000)]
build: remove -J from test-ci

parallel tests still not working on most build slaves

PR-URL: https://github.com/iojs/io.js/pull/1544
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agotest: fix test-net-dns-custom-lookup test assertion
Evan Lucas [Sun, 26 Apr 2015 13:52:10 +0000 (08:52 -0500)]
test: fix test-net-dns-custom-lookup test assertion

The assertion made an assumption that the IPv6 address would always be
`::1`. Since the address can be different on different platforms, it
has been changed to allow multiple addresses.

Fixes: https://github.com/iojs/io.js/issues/1527
PR-URL: https://github.com/iojs/io.js/pull/1531
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agotest: adjust Makefile/test-ci, add to vcbuild.bat
Rod Vagg [Sun, 26 Apr 2015 10:59:45 +0000 (20:59 +1000)]
test: adjust Makefile/test-ci, add to vcbuild.bat

PR-URL: https://github.com/iojs/io.js/pull/1530
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agowin,node-gyp: enable delay-load hook by default
Bert Belder [Wed, 15 Apr 2015 20:58:50 +0000 (13:58 -0700)]
win,node-gyp: enable delay-load hook by default

The delay-load hook allows node.exe/iojs.exe to be renamed. See efadffe
for more background.

PR-URL: https://github.com/iojs/io.js/pull/1433
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoutil: add Map and Set inspection support
Christopher Monsanto [Mon, 20 Apr 2015 00:29:59 +0000 (20:29 -0400)]
util: add Map and Set inspection support

PR-URL: https://github.com/iojs/io.js/pull/1471
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agodoc: Add Addon API (NAN) to working group list
Julian Duque [Sat, 25 Apr 2015 13:38:55 +0000 (08:38 -0500)]
doc: Add Addon API (NAN) to working group list

Also update nan and examples repositories links to io.js organization

PR-URL: #1523
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agodoc: add TC meeting 2015-04-08 minutes
Rod Vagg [Wed, 22 Apr 2015 04:52:43 +0000 (14:52 +1000)]
doc: add TC meeting 2015-04-08 minutes

PR-URL: #1497
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agonet: add lookup option to Socket.prototype.connect
Evan Lucas [Wed, 22 Apr 2015 22:05:29 +0000 (17:05 -0500)]
net: add lookup option to Socket.prototype.connect

Allows customization of the lookup function used when
Socket.prototype.connect is called using a hostname.

PR-URL: https://github.com/iojs/io.js/pull/1505
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
9 years agonet: cleanup connect logic
Evan Lucas [Wed, 22 Apr 2015 21:46:21 +0000 (16:46 -0500)]
net: cleanup connect logic

Separates out the lookup logic for net.Socket. In the event
the `host` property is an IP address, the lookup is skipped.

PR-URL: https://github.com/iojs/io.js/pull/1505
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
9 years agobuffer: little improve for Buffer.concat method
Jackson Tian [Thu, 16 Apr 2015 03:29:02 +0000 (11:29 +0800)]
buffer: little improve for Buffer.concat method

When buffer list less than 2, no need to calculate the length.
The change's benchmark result is here:
https://gist.github.com/JacksonTian/2c9e2bdec00018e010e6
It improve 15% ~ 25% speed when list only have one buffer,
to other cases no effect.

PR-URL: https://github.com/iojs/io.js/pull/1437
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
9 years agodoc: update branch to master
Roman Reiss [Thu, 23 Apr 2015 15:22:38 +0000 (17:22 +0200)]
doc: update branch to master

Update the remaining markdown files to refer to the master branch.
PR-URL: https://github.com/iojs/io.js/pull/1511
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agomodule: remove '' from Module.globalPaths
Chris Yip [Tue, 21 Apr 2015 07:13:27 +0000 (15:13 +0800)]
module: remove '' from Module.globalPaths

If `$NODE_PATH` contains trailing separators, `Module.globalPaths` will
contains empty strings. When `Module` try to resolve a module's path,
`path.resolve('', 'index.js')` will boil down to `$PWD/index.js`, which
makes sub modules can access global modules and get unexpected result.

PR-URL: https://github.com/iojs/io.js/pull/1488
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agotls_wrap: use localhost if options.host is empty
Guilherme Souza [Tue, 21 Apr 2015 21:24:13 +0000 (18:24 -0300)]
tls_wrap: use localhost if options.host is empty

tls.connect(options) with no options.host should accept a certificate
with CN: 'localhost'. Fix Error: Hostname/IP doesn't match
certificate's altnames: "Host: undefined. is not cert's CN: localhost"

'localhost' is not added directly to defaults because that is not
always desired (for example, when using options.socket)

PR-URL: https://github.com/iojs/io.js/pull/1493
Fixes: https://github.com/iojs/io.js/issues/1489
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agodoc: add Fishrock123 to the TC
Jeremiah Senkpiel [Thu, 23 Apr 2015 00:46:06 +0000 (20:46 -0400)]
doc: add Fishrock123 to the TC

as per https://github.com/iojs/io.js/issues/1502

PR-URL: https://github.com/iojs/io.js/pull/1507
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: add spaces to child.kill example
Nick Raienko [Wed, 22 Apr 2015 11:27:04 +0000 (14:27 +0300)]
doc: add spaces to child.kill example

PR-URL: https://github.com/iojs/io.js/pull/1503
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
9 years agodoc: update AUTHORS list
Rod Vagg [Mon, 20 Apr 2015 08:55:04 +0000 (18:55 +1000)]
doc: update AUTHORS list

Update AUTHORS list using tools/update-authors.sh

PR-URL: https://github.com/iojs/io.js/pull/1476
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoMerge v1.8.1.
Chris Dickinson [Tue, 21 Apr 2015 03:25:08 +0000 (20:25 -0700)]
Merge v1.8.1.

This brings in the '%PYTHON%' revert, and restores
the correct NODE_MODULE_VERSION.

PR-URL: https://github.com/iojs/io.js/pull/1482
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years ago2015-04-20 io.js v1.8.1 Release v1.8.1
Chris Dickinson [Sat, 18 Apr 2015 04:33:30 +0000 (21:33 -0700)]
2015-04-20 io.js v1.8.1 Release

Notable Changes:

* build: revert vcbuild.bat changes
* changes inherited from v1.8.0:
  * build: Support for building io.js as a static
    library (Marat Abdullin) #1341
  * npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448
  * deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389
  * src: allow multiple arguments to be passed to
    process.nextTick (Trevor Norris) #1077
  * module: the interaction of require('.') with NODE_PATH has been
    restored and deprecated. This functionality will be removed at
    a later point. (Roman Reiss) #1363

9 years agosrc: revert NODE_MODULE_VERSION to 43
Chris Dickinson [Sat, 18 Apr 2015 04:27:15 +0000 (21:27 -0700)]
src: revert NODE_MODULE_VERSION to 43

PR-URL: https://github.com/iojs/io.js/pull/1460
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agoRevert "build: use %PYTHON% instead of python"
Rod Vagg [Mon, 20 Apr 2015 08:48:51 +0000 (18:48 +1000)]
Revert "build: use %PYTHON% instead of python"

This reverts commit 91943a99d534e67f6b7a7a3be45206afdb3fbf75.

Old commit cherry-picked in but found to cause problems with .msi
creation on Windows.
Original change is mostly pointless because V8 hard-wires
`python` anyway.

PR-URL: https://github.com/iojs/io.js/pull/1475
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: add test for 06cfff9 regression
Brendan Ashworth [Sat, 18 Apr 2015 20:26:15 +0000 (13:26 -0700)]
test: add test for 06cfff9 regression

This commit adds a test to ensure all options are NOT modified after
passing them to http.request. Specifically options.host and options.port
are the most prominent that would previously error, but add the other
options that have default values.

options.host and options.port were overridden for the one-argument
net.createConnection(options) call.

PR-URL: https://github.com/iojs/io.js/pull/1467
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoRevert "http: don't bother making a copy of the options"
Brendan Ashworth [Sat, 18 Apr 2015 20:22:34 +0000 (13:22 -0700)]
Revert "http: don't bother making a copy of the options"

This reverts commit 06cfff935012ed2826cac56284cea982630cbc27.

Reverted because it introduced a regression where (because options were
modified in the later functionality) options.host and options.port would
be overridden with values provided in other, supported ways.

PR-URL: https://github.com/iojs/io.js/pull/1467
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodoc: update CONTRIBUTING.md
Brendan Ashworth [Sat, 18 Apr 2015 18:11:52 +0000 (11:11 -0700)]
doc: update CONTRIBUTING.md

This commit:
  - fixes development branch (v1.x -> master)
  - updates stability index wording
  - use iojs binary instead of node

PR-URL: https://github.com/iojs/io.js/pull/1466
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on v1.8.1
Chris Dickinson [Fri, 17 Apr 2015 21:53:22 +0000 (14:53 -0700)]
Working on v1.8.1

9 years agoWorking on v2.0.0
Chris Dickinson [Fri, 17 Apr 2015 21:52:50 +0000 (14:52 -0700)]
Working on v2.0.0

9 years ago2015-04-17 io.js v1.8.0 Release
Chris Dickinson [Fri, 17 Apr 2015 21:31:49 +0000 (14:31 -0700)]
2015-04-17 io.js v1.8.0 Release

Notable Changes:

* build: Support for building io.js as a static
  library (Marat Abdullin) #1341
* deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389
* npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448
* src: allow multiple arguments to be passed to
  process.nextTick (Trevor Norris) #1077
* module: the interaction of require('.') with NODE_PATH has been
  restored and deprecated. This functionality will be removed at
  a later point. (Roman Reiss) #1363

9 years agobuild: fix logic for shared library flags
Jeremiah Senkpiel [Fri, 17 Apr 2015 19:04:46 +0000 (15:04 -0400)]
build: fix logic for shared library flags

Fixes a regession introduced in fd90b33b94e6ce64fde193deca2e2aa6c774f558

PR-URL: https://github.com/iojs/io.js/pull/1454
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
9 years agowin,node-gyp: optionally allow node.exe/iojs.exe to be renamed
Bert Belder [Wed, 25 Mar 2015 04:00:12 +0000 (21:00 -0700)]
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>
9 years agodeps: make node-gyp work with io.js
cjihrig [Fri, 27 Feb 2015 18:40:58 +0000 (13:40 -0500)]
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
03d199276e21c1fa08d8df14eeb654c90cc5aa20,
5de334c23096492014a097ff487f07ad8eaee6d2, and
da730c76e98fb9fd18dac445dafbbec74d79f802. 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>
9 years agodeps: upgrade npm to 2.8.3
Forrest L Norvell [Fri, 17 Apr 2015 08:12:21 +0000 (01:12 -0700)]
deps: upgrade npm to 2.8.3

9 years agodeps: fix git case sensitivity issue in npm
Chris Dickinson [Fri, 17 Apr 2015 20:13:32 +0000 (20:13 +0000)]
deps: fix git case sensitivity issue in npm

Remove Readme.md, as the subsequent npm update commit creates a
README.md. Combining the create and delete operations into the
same commit leads to OSX machines running into issues – they
don't detect it as a rename, instead trying to create a new
README.md, which fails because Readme.md hasn't been deleted yet.
This causes the entire operation to fail spectacularly. Thus,
the delete operation is performed first, in this commit, then
the create operation follows in the npm update commit.

PR-URL: https://github.com/iojs/io.js/pull/1456
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agomodule: fix style
Roman Reiss [Fri, 17 Apr 2015 16:06:46 +0000 (18:06 +0200)]
module: fix style

This makes the linter happy again.

PR-URL: https://github.com/iojs/io.js/pull/1453
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agohttp: logically respect maxSockets
fengmk2 [Mon, 23 Mar 2015 11:33:13 +0000 (19:33 +0800)]
http: logically respect maxSockets

Allows the number of pooled free sockets to equal maxSockets.
Previously it would only allow maxSockets - 1.

PR-URL: https://github.com/iojs/io.js/pull/1242
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
9 years agonet: add fd into listen2 debug info
Jackson Tian [Thu, 16 Apr 2015 17:14:25 +0000 (01:14 +0800)]
net: add fd into listen2 debug info

Add fd into debug message.

PR-URL: https://github.com/iojs/io.js/pull/1442

Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agobuild: use %PYTHON% instead of python
Rod Vagg [Thu, 16 Oct 2014 04:40:52 +0000 (15:40 +1100)]
build: use %PYTHON% instead of python

Like libuv does.

Originally: https://github.com/node-forward/node/pull/21

PR-URL: https://github.com/iojs/io.js/pull/1444
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Conflicts:
vcbuild.bat

9 years agostream: remove duplicated expression
Yazhong Liu [Thu, 2 Oct 2014 16:00:40 +0000 (00:00 +0800)]
stream: remove duplicated expression

PR-URL: https://github.com/iojs/io.js/pull/1444
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
9 years agomodule: handle NODE_PATH in require('.')
Roman Reiss [Tue, 7 Apr 2015 14:30:28 +0000 (16:30 +0200)]
module: handle NODE_PATH in require('.')

This commit restores the functionality of adding a module's path to
NODE_PATH and requiring it with require('.'). As NODE_PATH was never
intended to be used as a pointer to a module directory (but instead, to
a directory containing directories of modules), this feature is also
being deprecated in turn, to be removed at a later point in time.

PR-URL: https://github.com/iojs/io.js/pull/1363
Fixes: https://github.com/iojs/io.js/issues/1356
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobuffer: fast-case for empty string in byteLength
Jackson Tian [Thu, 16 Apr 2015 15:31:34 +0000 (23:31 +0800)]
buffer: fast-case for empty string in byteLength

When the string is empty, calling the binding is unnecessary and slow.

PR-URL: https://github.com/iojs/io.js/pull/1441
Reviewed-by: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
9 years agosrc: remove duplicate byteLength from Buffer
Jackson Tian [Thu, 16 Apr 2015 05:44:17 +0000 (13:44 +0800)]
src: remove duplicate byteLength from Buffer

Commit 36a77956 introduced a duplicate Buffer byteLength property.

PR-URL: https://github.com/iojs/io.js/pull/1438
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
9 years agodoc: Document forced pushing with git
Johan Bergström [Tue, 14 Apr 2015 06:37:20 +0000 (16:37 +1000)]
doc: Document forced pushing with git

Mention that we generally disallow forced pushes but allow it
in trivial cases within 10 minutes of the original push unless
the branch pushed to already has new commits.

PR-URL: https://github.com/iojs/io.js/pull/1420
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agonode: allow multiple arguments passed to nextTick
Trevor Norris [Thu, 5 Mar 2015 21:07:27 +0000 (14:07 -0700)]
node: allow multiple arguments passed to nextTick

PR-URL: https://github.com/iojs/io.js/pull/1077
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
9 years agodoc: add Addon API WG
Rod Vagg [Sat, 21 Mar 2015 05:16:16 +0000 (16:16 +1100)]
doc: add Addon API WG

PR-URL: https://github.com/iojs/io.js/pull/1226
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Reviewed-By: TC
9 years agobuild: Expose xz compression level
Johan Bergström [Wed, 15 Apr 2015 00:49:29 +0000 (10:49 +1000)]
build: Expose xz compression level

On machines with limited resources a fair tradeoff could be trading
result size with less memory and cpu consumption. Expose a variable
that overrides the default (9).

Note: xz is often used to gain maximum possible compression, so
avoid lowering this if possible.

PR-URL: https://github.com/iojs/io.js/pull/1428
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agobuild: fix error message in configure
Shigeki Ohtsu [Mon, 13 Apr 2015 01:19:05 +0000 (10:19 +0900)]
build: fix error message in configure

Replace Node.js to io.js in error messages.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: add docs to upgrade openssl
Shigeki Ohtsu [Tue, 31 Mar 2015 05:28:08 +0000 (14:28 +0900)]
deps: add docs to upgrade openssl

This document is intended to describe the procedure to upgrade openssl
from 1.0.1m to 1.0.2a in io.js.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotest: fix error message check for openssl-1.0.2a
Shigeki Ohtsu [Thu, 5 Feb 2015 07:16:00 +0000 (16:16 +0900)]
test: fix error message check for openssl-1.0.2a

openssl-1.0.2a does not include function name of SSL3_GET_CLIENT_HELLO
in the error message

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: enable ssl support on arm64
Shigeki Ohtsu [Fri, 10 Apr 2015 07:13:53 +0000 (16:13 +0900)]
build: enable ssl support on arm64

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update asm files for openssl-1.0.2a
Shigeki Ohtsu [Fri, 10 Apr 2015 04:58:31 +0000 (13:58 +0900)]
deps: update asm files for openssl-1.0.2a

asm files are generated as
- In `deps/openssl/asm/`, make with CC=gcc and ASM=nasm
- In `deps/openssl/asm_obsolute/`, make with no envs for compilers

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps, build: add support older assembler
Shigeki Ohtsu [Tue, 31 Mar 2015 05:16:10 +0000 (14:16 +0900)]
deps, build: add support older assembler

Asm files for OpenSSL depends on the version of assembler.
We provide two sets of asm files, one is asm_latest(avx2 and addx
supported) and the other asm_obsolute(without avx1/2 and addx)

The asm_latest needs the version of gas >= 2.23, llvm >= 3.3
or ml64 >= 12 as defined in
https://github.com/openssl/openssl/blob/OpenSSL_1_0_2-stable/crypto/sha/asm/sha512-x86_64.pl#L112-L129
, otherwise asm_obsolute are used.

We take MSVS_VERSION in gyp as a version check of assembler on
Windows because the path to ml64.exe was set after configure in
vcbuild.bat and executing ml64.exe was failed in configure.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update asm Makefile for openssl-1.0.2a
Shigeki Ohtsu [Tue, 31 Mar 2015 05:12:32 +0000 (14:12 +0900)]
deps: update asm Makefile for openssl-1.0.2a

This includes following changes,
 - Updated asm files for each platforms which are required in
 openssl-1.0.2a.
 - Some perl files need CC and ASM envs. Added a check if these envs
 exist. Followed asm files are to be generated with CC=gcc and
 ASM=nasm on Linux. See
 `deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl`
 - Added new 32bit targets/rules with a sse2 flag (OPENSSL_IA32_SSE2)
 to generate asm for use SSE2.
 - Generating sha512 asm files in x86_64 need output filename which
 has 512. Added new rules so as not to use stdout for outputs.
 - PERLASM_SCHEME of linux-armv4 is `void` as defined in openssl
 Configure. Changed its target/rule and all directories are moved from
 arm-elf-gas to arm-void-gas.

deps: add arm64 support in openssl/asm/Makefile

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update openssl.gyp/gypi for openssl-1.0.2a
Shigeki Ohtsu [Tue, 31 Mar 2015 05:09:53 +0000 (14:09 +0900)]
deps: update openssl.gyp/gypi for openssl-1.0.2a

Update gyp sources for openssl-1.0.2a. The source list was extracted
from Makefiles in `deps/openssl/openssl/{crypto/ssl/engines}`.

Defines are created by referring the table in
`deps/openssl/doc/openssl_define_list.pdf` that was derived from
Makefile entries and outputs of
`deps/openssl/openssl/Configure TABLE`.

Renamed the variable of openssl_sources_arm_elf_gas to
openssl_sources_arm_void_gas to be consistent with PERLASM_SCHEME.

This also includes arm64 support.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: update opensslconf.h for 1.0.2a
Shigeki Ohtsu [Fri, 10 Apr 2015 02:29:00 +0000 (11:29 +0900)]
deps: update opensslconf.h for 1.0.2a

just type `make` in `deps/openssl/conf` then opensslconf.h in all
architectures are updated.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: add x32 and arm64 support for opensslconf.h
Shigeki Ohtsu [Fri, 10 Apr 2015 02:24:08 +0000 (11:24 +0900)]
deps: add x32 and arm64 support for opensslconf.h

linux-x32 and linux-aarch64(arm64) are officially supported in
openssl-1.0.2. With this fix opensslconf.h for these new architectures
can be generated by Makefile.

The patch for opensslconf.h of linux-x32 with Makefile was removed.

For the fix of opensslconf.h in WIN32/WIN64, adding defines of
OPENSSL_NO_DYNAMIC_ENGINE and OPENSSL_NO_CAPIENG move to openssl.gypi
so that we no longer need insert a patch with Makefile and removed it.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: replace all headers in openssl
Shigeki Ohtsu [Fri, 10 Apr 2015 02:12:07 +0000 (11:12 +0900)]
deps: replace all headers in openssl

Change all openssl/include/openssl/*.h to include resolved symbolic
links and openssl/crypto/opensslconf.h to refer config/opensslconf.h

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoopenssl: fix keypress requirement in apps on win32
Shigeki Ohtsu [Tue, 17 Feb 2015 02:30:28 +0000 (11:30 +0900)]
openssl: fix keypress requirement in apps on win32

Reapply b910613792dac946b295855963869933a9089044 .

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: backport openssl patch of alt cert chains 1
Shigeki Ohtsu [Tue, 27 Jan 2015 10:03:29 +0000 (10:03 +0000)]
deps: backport openssl patch of alt cert chains 1

This a backport of da084a5ec6cebd67ae27f2463ebe4a50bb840fa5 in
https://github.com/openssl/openssl by Matt Caswell <matt@openssl.org> as

In certain situations the server provided certificate chain may no
longer be valid. However the issuer of the leaf, or some intermediate
cert is in fact in the trust store.

When building a trust chain if the first attempt fails, then try to
see if alternate chains could be constructed that are trusted.

deps: backport openssl patch of alt cert chains 2

This a backport of 15dba5be6a4482a9ad7e5b846291f31e97e338ca in
https://github.com/openssl/openssl by Matt Caswell <matt@openssl.org> as

Add flag to inhibit checking for alternate certificate chains. Setting this
behaviour will force behaviour as per previous versions of OpenSSL

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: fix asm build error of openssl in x86_win32
Shigeki Ohtsu [Fri, 13 Feb 2015 09:33:59 +0000 (18:33 +0900)]
deps: fix asm build error of openssl in x86_win32

See
https://mta.openssl.org/pipermail/openssl-dev/2015-February/000651.html

iojs needs to stop using masm and move to nasm or yasm on Win32.

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: fix openssl assembly error on ia32 win32
Fedor Indutny [Wed, 8 Jan 2014 19:05:01 +0000 (23:05 +0400)]
deps: fix openssl assembly error on ia32 win32

`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid` (and
perhaps others) are requiring .686 .

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
9 years agodeps: upgrade openssl to 1.0.2a
Shigeki Ohtsu [Mon, 30 Mar 2015 05:41:01 +0000 (14:41 +0900)]
deps: upgrade openssl to 1.0.2a

This just replaces all sources in deps/openssl/openssl to originals in
https://www.openssl.org/source/openssl-1.0.2a.tar.gz

Fixes: https://github.com/iojs/io.js/issues/589
PR-URL: https://github.com/iojs/io.js/pull/1389
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agoWorking on v1.7.2
Rod Vagg [Tue, 14 Apr 2015 13:26:14 +0000 (23:26 +1000)]
Working on v1.7.2

9 years ago2015-04-14 io.js v1.7.1 Release v1.7.1
Rod Vagg [Tue, 14 Apr 2015 12:57:23 +0000 (22:57 +1000)]
2015-04-14 io.js v1.7.1 Release

Notable changes:

* build: A syntax error in the Makefile for release builds caused
  1.7.0 to be DOA and unreleased. (Rod Vagg) #1421

9 years agobuild: fix RELEASE check
Rod Vagg [Tue, 14 Apr 2015 12:22:23 +0000 (22:22 +1000)]
build: fix RELEASE check

fixes broken 1.7.0 build, unreviewed quick patch

Ref: https://github.com/iojs/io.js/pull/1405
PR-URL: https://github.com/iojs/io.js/pull/1421

9 years agoWorking on v1.7.1
Rod Vagg [Tue, 14 Apr 2015 12:12:33 +0000 (22:12 +1000)]
Working on v1.7.1

9 years ago2015-04-14 io.js v1.7.0 Release v1.7.0
Rod Vagg [Tue, 14 Apr 2015 12:07:18 +0000 (22:07 +1000)]
2015-04-14 io.js v1.7.0 Release

Notable changes:

* C++ API: Fedor Indutny contributed a feature to V8 which has been
  backported to the V8 bundled in io.js. SealHandleScope allows a C++
  add-on author to seal a HandleScope to prevent further, unintended
  allocations within it. Currently only enabled for debug builds of
  io.js. This feature helped detect the leak in #1075 and is now
  activated on the root HandleScope in io.js. (Fedor Indutny) #1395.
* ARM: This release includes significant work to improve the state of
  ARM support for builds and tests. The io.js CI cluster's ARMv6,
  ARMv7 and ARMv8 build servers are now all (mostly) reporting passing
  builds and tests.
  - ARMv8 64-bit (AARCH64) is now properly supported, including a
    backported fix in libuv that was mistakenly detecting the
    existence of `epoll_wait()`. (Ben Noordhuis) #1365.
  - ARMv6: #1376 reported a problem with Math.exp() on ARMv6 (incl
    Raspberry Pi). The culprit is erroneous codegen for ARMv6 when
    using the "fast math" feature of V8. --nofast_math has been turned
    on for all ARMv6 variants by default to avoid this, fast math can
    be turned back on with --fast_math. (Ben Noordhuis) #1398.
  - Tests: timeouts have been tuned specifically for slower platforms,
    detected as ARMv6 and ARMv7. (Roman Reiss) #1366.
* npm: Upgrade npm to 2.7.6. See the release notes
  (https://github.com/npm/npm/releases/tag/v2.7.6) for details.

9 years agobuild: validate options passed to configure
Johan Bergström [Fri, 3 Apr 2015 04:33:34 +0000 (15:33 +1100)]
build: validate options passed to configure

Some variables like dest arch or os are now validated to avoid
build issues. Move defaults to optparse default while at it.

PR-URL: https://github.com/iojs/io.js/pull/1335
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: Remove deprecated flags
Johan Bergström [Mon, 13 Apr 2015 12:27:19 +0000 (22:27 +1000)]
build: Remove deprecated flags

Remove flags that were deprecated in f31502926 (soon 3 years ago).

PR-URL: https://github.com/iojs/io.js/pull/1407
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: minor changes to fix rpm build
Dan Varga [Mon, 13 Apr 2015 14:05:03 +0000 (10:05 -0400)]
build: minor changes to fix rpm build

PR-URL: https://github.com/iojs/io.js/pull/1408
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agotools: Remove unused files
Johan Bergström [Mon, 13 Apr 2015 08:03:50 +0000 (18:03 +1000)]
tools: Remove unused files

Stray files used in the previous release process

PR-URL: https://github.com/iojs/io.js/pull/1406
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agobuild: Simplify fetching release version
Johan Bergström [Mon, 13 Apr 2015 06:35:48 +0000 (16:35 +1000)]
build: Simplify fetching release version

PR-URL: https://github.com/iojs/io.js/pull/1405
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
9 years agosrc: use global SealHandleScope
Fedor Indutny [Sat, 11 Apr 2015 14:02:33 +0000 (16:02 +0200)]
src: use global SealHandleScope

Helps to find Handle leaks in Debug mode.

PR-URL: https://github.com/iojs/io.js/pull/1395
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agodeps: backport 1f8555 from v8's upstream
Fedor Indutny [Sat, 11 Apr 2015 14:02:22 +0000 (16:02 +0200)]
deps: backport 1f8555 from v8's upstream

Original commit message:

    api: introduce SealHandleScope

    When debugging Handle leaks in io.js we found it very convenient to be
    able to Seal some specific (root in our case) scope to prevent Handle
    allocations in it, and easily find leakage.

    R=yangguo
    BUG=

    Review URL: https://codereview.chromium.org/1079713002

    Cr-Commit-Position: refs/heads/master@{#27766}

Should help us identify and fix Handle leaks in core and user-space code.

NOTE: Works only in Debug build now, but is still better than nothing.

PR-URL: https://github.com/iojs/io.js/pull/1395
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
9 years agosrc: disable fast math only on armv6
Ben Noordhuis [Sat, 11 Apr 2015 03:34:27 +0000 (05:34 +0200)]
src: disable fast math only on armv6

Don't disable fast math on ARMv7, only ARMv6.  I hope I got all the
v6 subarchs.

PR-URL: https://github.com/iojs/io.js/pull/1398
Reviewed-By: Roman Reiss <me@silverwind.io>
9 years agosrc: disable fast math on arm
Ben Noordhuis [Sat, 11 Apr 2015 03:04:16 +0000 (05:04 +0200)]
src: disable fast math on arm

The "fast" implementation of Math.exp() and Math.tanh() emits ARMv7
movt/movw instructions on ARMv6 (notably, the original Raspberry Pi.)

Disable fast math for now.  The adventurous can enable it again with
the --fast_math switch.

PR-URL: https://github.com/iojs/io.js/pull/1398
Refs: https://github.com/iojs/io.js/issues/1376
Reviewed-By: Roman Reiss <me@silverwind.io>
V8-Bug: https://code.google.com/p/v8/issues/detail?id=4019

9 years agobuild: support building io.js as a static library
Marat Abdullin [Sat, 4 Apr 2015 14:04:49 +0000 (17:04 +0300)]
build: support building io.js as a static library

One static library could not be bundled into another, that's why
it's necessary to skip `-force_load` and `--whole-archive` linker
options to build io.js itself as a static library.

`node_target_type` variable has been added to node.gyp, along
with `--enable-static` option in configure script.

Fixes: https://github.com/iojs/io.js/issues/686
PR-URL: https://github.com/iojs/io.js/pull/1341
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>