Kohei TAKATA [Fri, 3 Apr 2015 11:18:22 +0000 (20:18 +0900)]
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>
Johan Bergström [Fri, 3 Apr 2015 03:04:14 +0000 (14:04 +1100)]
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>
Brian White [Wed, 25 Mar 2015 06:26:21 +0000 (02:26 -0400)]
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>
Johan Bergström [Wed, 1 Apr 2015 23:37:05 +0000 (10:37 +1100)]
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>
Ben Noordhuis [Thu, 19 Mar 2015 01:01:45 +0000 (02:01 +0100)]
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>
Ben Noordhuis [Wed, 1 Apr 2015 20:26:45 +0000 (22:26 +0200)]
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>
Rod Vagg [Wed, 11 Mar 2015 07:45:20 +0000 (00:45 -0700)]
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>
Johan Bergström [Tue, 31 Mar 2015 00:17:25 +0000 (11:17 +1100)]
build: Pass BSDmakefile args to gmake
Minor convenience for platforms that doesn't have gmake installed
but prefer the habit of writing make instead of gmake.
test needs to live in .PHONY to get passed on to gmake.
PR-URL: https://github.com/iojs/io.js/pull/1298
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Brian White [Sat, 28 Mar 2015 03:04:49 +0000 (23:04 -0400)]
lib: remove unused variables
PR-URL: https://github.com/iojs/io.js/pull/1290
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Jeremiah Senkpiel [Mon, 30 Mar 2015 18:34:24 +0000 (14:34 -0400)]
doc: fix util.isObject documentation
Proposed functionality fix containing prior discussion:
https://github.com/iojs/io.js/pull/822
Fixes: https://github.com/iojs/io.js/issues/743
PR-URL: https://github.com/iojs/io.js/pull/1295
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Rod Vagg [Tue, 31 Mar 2015 11:45:25 +0000 (22:45 +1100)]
Working on v1.6.4
Rod Vagg [Tue, 31 Mar 2015 11:36:59 +0000 (22:36 +1100)]
2015-03-31 io.js v1.6.3 Release
Notable changes:
* fs: corruption can be caused by fs.writeFileSync() and append-mode
fs.writeFile() and fs.writeFileSync() under certain circumstances,
reported in #1058, fixed in #1063 (Olov Lassus).
* iojs: an "internal modules" API has been introduced to allow core
code to share JavaScript modules internally only without having to
expose them as a public API, this feature is for core-only #848
(Vladimir Kurchatkin).
* timers: two minor problems with timers have been fixed:
- Timer#close() is now properly idempotent #1288 (Petka Antonov).
- setTimeout() will only run the callback once now after an
unref() during the callback #1231 (Roman Reiss).
* Windows: a "delay-load hook" has been added for compiled add-ons
on Windows that should alleviate some of the problems that Windows
users may be experiencing with add-ons in io.js #1251
(Bert Belder).
* V8: minor bug-fix upgrade for V8 to 4.1.0.27.
* npm: upgrade npm to 2.7.4. See npm CHANGELOG.md for details.
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>
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>
Forrest L Norvell [Fri, 27 Mar 2015 10:56:05 +0000 (03:56 -0700)]
deps: upgrade npm to 2.7.4
Farrin Reid [Tue, 10 Mar 2015 05:31:13 +0000 (22:31 -0700)]
doc: add WG links in WORKING_GROUPS.md & fix nits
Related to https://github.com/iojs/evangelism/issues/24
PR-URL: https://github.com/iojs/io.js/pull/1113
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Mikeal Rogers <mikeal.rogers@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Ben Noordhuis [Sun, 29 Mar 2015 18:09:22 +0000 (20:09 +0200)]
test: fix race in parallel/test-vm-debug-context
Fix a race condition in parallel/test-vm-debug-context where the 'exit'
event for the child process is emitted before the first and only 'data'
event for the child process's stderr stream.
I considered deferring the 'exit' event in lib/child_process.js until
all stdio streams have been closed but I realized that's not going to
work when the child process spins off grandchildren that keep the stdio
file descriptors alive.
Fixes: https://github.com/iojs/io.js/issues/1291
PR-URL: https://github.com/iojs/io.js/pull/1294
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Ben Noordhuis [Thu, 19 Mar 2015 22:33:52 +0000 (23:33 +0100)]
src: ignore ENOTCONN on shutdown race with child
On AIX, OS X and the BSDs, calling shutdown() on one end of a pipe
when the other end has closed the connection fails with ENOTCONN.
The sequential/test-child-process-execsync test failed sporadically
because of a race between the parent and the child where one closed
its end of the pipe before the other got around to calling shutdown()
on its end of the pipe.
Libuv is not the right place to handle that because it can't tell if
the ENOTCONN error is genuine but io.js can.
Refs: https://github.com/libuv/libuv/pull/268
PR-URL: https://github.com/iojs/io.js/pull/1214
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Ali Ijaz Sheikh [Wed, 25 Mar 2015 19:19:46 +0000 (12:19 -0700)]
src: fix minor memleak in preload-modules
Free the preload_modules array once we are done with it.
PR-URL: https://github.com/iojs/io.js/pull/1265
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Roman Reiss [Thu, 26 Mar 2015 18:35:37 +0000 (19:35 +0100)]
doc: decouple sidebar scrolling
This lets the doc sidebar have its own scrolling container, making the
page easier to navigate in cases where previously the menu was scrolled
far off.
PR-URL: https://github.com/iojs/io.js/pull/1274
Reviewed-by: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Ben Noordhuis [Fri, 27 Mar 2015 22:06:05 +0000 (23:06 +0100)]
deps: upgrade v8 to 4.1.0.27
PR-URL: https://github.com/iojs/io.js/pull/1289
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Brendan Ashworth [Thu, 26 Mar 2015 22:20:27 +0000 (15:20 -0700)]
streams: use strict on _stream_wrap
A Mostly Harmless™ change to enable 'use strict' mode in _stream_wrap, bringing it in line with /all/ the other modules.
PR-URL: https://github.com/iojs/io.js/pull/1279
Reviewed-By: Brian White (@mscdex) <mscdex@mscdex.net>
Reviewed-By: Roman Reiss (@silverwind) <me@silverwind.io>
Reviewed-By: Yosuke Furukawa (@yosuke-furukawa)
<yosuke.furukawa@gmail.com>
Petka Antonov [Fri, 27 Mar 2015 18:43:25 +0000 (20:43 +0200)]
timers: make Timer.close idempotent
fixes #1287
PR-URL: https://github.com/iojs/io.js/pull/1288
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Phillip Lamplugh [Fri, 27 Mar 2015 17:16:32 +0000 (10:16 -0700)]
doc: fix spelling error in feature flags
PR-URL: https://github.com/iojs/io.js/pull/1286
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Jackson Tian [Fri, 27 Mar 2015 02:28:24 +0000 (10:28 +0800)]
debugger: don't spawn child process in remote mode
When debug in remote mode with host:port or pid, the interface
spawn child process also. If the debugger agent is running, will
get following output:
```
< Error: listen EADDRINUSE :::5858
< at Object.exports._errnoException (util.js:734:11)
< at exports._exceptionWithHostPort (util.js:757:20)
< at Agent.Server._listen2 (net.js:1155:14)
< at listen (net.js:1181:10)
< at Agent.Server.listen (net.js:1268:5)
< at Object.start (_debug_agent.js:21:9)
< at startup (node.js:68:9)
< at node.js:799:3
```
This fix won't spawn child process and no more error message was
shown.
When use `iojs debug`, the tip information just like this:
```
Usage: iojs debug script.js
```
This fix will display the advance usage also:
```
Usage: iojs debug script.js
iojs debug <host>:<port>
iojs debug -p <pid>
```
Fixes: https://github.com/iojs/io.js/issues/889
PR-URL: https://github.com/iojs/io.js/pull/1282
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Roman Reiss [Thu, 26 Mar 2015 19:01:17 +0000 (20:01 +0100)]
test: reduce sequential/test-fs-watch flakiness
The fs.watch test's write events sometimes aren't produced on OS X,
possibly because of a fsevents race condition. This patch gives delays
the writing a total of 20ms, which makes the test pass consistently.
PR-URL: https://github.com/iojs/io.js/pull/1275
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Ben Noordhuis [Fri, 27 Mar 2015 00:07:07 +0000 (01:07 +0100)]
js2c: fix module id generation on windows
Fix a regression that was introduced in commit 2db758c ("iojs: introduce
internal modules") where the computed id for "config.gypi" on Windows
was not "config" but an empty string.
With an empty string, the build succeeds but the binary is unusable:
startup.processConfig() in src/node.js chokes on the missing .config
property.
PR-URL: https://github.com/iojs/io.js/pull/1281
Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
Ben Noordhuis [Thu, 26 Mar 2015 22:56:26 +0000 (23:56 +0100)]
src: don't lazy-load timer globals
Don't lazy-load setInterval(), setTimeout(), etc. Most applications are
going to need them and routing every call through NativeModule.require()
and Function#apply() is not exactly efficient.
PR-URL: https://github.com/iojs/io.js/pull/1280
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Jeremiah Senkpiel [Thu, 26 Mar 2015 19:03:11 +0000 (15:03 -0400)]
Revert "doc: clarify real name requirement"
This reverts commit
4e9bf93e9c645f33446f7d47005868ffcb3d281e.
PR-URL: https://github.com/iojs/io.js/pull/1276
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Rod Vagg <rod@vagg.org>
Bert Belder [Thu, 26 Mar 2015 03:53:35 +0000 (20:53 -0700)]
win,node-gyp: make delay-load hook optional
The delay-load hook that was landed in 3d46fef to make compiled addons
work on Windows regardless of the iojs.exe/node.exe filename causes
issues with a small amount of compiled addons.
Therefore this patch makes it an opt-in feature. An addon may set the
'win_delay_load_hook' option to 'true' in its binding.gyp to enable this
feature.
Example:
```
{
'targets': [
{
'target_name': 'ernie',
'win_delay_load_hook': 'true',
...
```
Refs: https://github.com/iojs/io.js/pull/1251
PR-URL: https://github.com/iojs/io.js/pull/1266
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Jeremiah Senkpiel [Thu, 26 Mar 2015 15:52:36 +0000 (11:52 -0400)]
timers: cleanup interval handling
Uses `null` as the false-y value for `_repeat` as like other properties.
Removes un-reachable statement in setInterval’s `wrapper()`.
PR-URL: https://github.com/iojs/io.js/pull/1272
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Roman Reiss [Sat, 21 Mar 2015 16:39:35 +0000 (17:39 +0100)]
timers: assure setTimeout callback only runs once
Calling this.unref() during the callback of SetTimeout caused the
callback to get executed twice because unref() didn't expect to be
called during that time and did not stop the ref()ed Timeout but
did start a new timer. This commit prevents the new timer creation
when the callback was already called.
Fixes: https://github.com/iojs/io.js/issues/1191
Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
PR-URL: https://github.com/iojs/io.js/pull/1231
Fedor Indutny [Wed, 25 Mar 2015 03:21:32 +0000 (20:21 -0700)]
tls_wrap: fix this incredibly stupid leak
Always call `Done` on the WriteWrap, and ensure that `EncOut` will
consume all data in clear_in_ and invoke queued callbacks.
Fix: https://github.com/iojs/io.js/issues/1075
PR-URL: https://github.com/iojs/io.js/pull/1244
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Fedor Indutny [Tue, 24 Mar 2015 03:07:03 +0000 (20:07 -0700)]
tls_wrap: fix BIO leak on SSL error
Fix: https://github.com/iojs/io.js/issues/1075
PR-URL: https://github.com/iojs/io.js/pull/1244
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Vladimir Kurchatkin [Sat, 14 Feb 2015 19:53:34 +0000 (22:53 +0300)]
iojs: introduce internal modules
Internal modules can be used to share private code between
public modules without risk to expose private APIs to the
user.
PR-URL: https://github.com/iojs/io.js/pull/848
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Brendan Ashworth [Wed, 25 Mar 2015 05:44:08 +0000 (22:44 -0700)]
doc: fix format docs discrepancy
Only objects and symbols use `util.inspect`, others are simply
concatenated.
Fixes: https://github.com/iojs/io.js/issues/935
PR-URL: https://github.com/iojs/io.js/pull/1255
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Brian White [Thu, 19 Mar 2015 21:31:34 +0000 (17:31 -0400)]
string_decoder: optimize write()
By limiting property getting/setting to only where they are
absolutely necessary, we can achieve greater performance
especially with small utf8 inputs and any size base64 inputs.
PR-URL: https://github.com/iojs/io.js/pull/1209
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Nicu Micleușanu <micnic90@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Bert Belder [Wed, 25 Mar 2015 04:00:12 +0000 (21:00 -0700)]
win,node-gyp: 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 makes it impossible to rename node.exe or iojs.exe, because when
that happens the module can't find its dependencies.
With this patch, a delay-load hook is added to all modules that are
compiled with node-gyp. The delay-load hook ensures that whenever a
module tries to load imports from node.exe/iojs.exe, it'll just refer
back to the process image, thus making it possible to rename the
iojs/node binary.
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>
Olov Lassus [Thu, 5 Mar 2015 00:03:34 +0000 (01:03 +0100)]
fs: fix corruption in writeFile and writeFileSync
1. writeFileSync bumps position incorrectly, causing it to drift in
iteration three and onwards.
2. Append mode files will get corrupted in the middle if writeFile or
writeFileSync iterates multiple times, unless running on Linux. position
starts out as null so first write is OK, but then position will refer to
a location inside an existing file, corrupting that data. Linux ignores
position for append mode files so it doesn't happen there.
This commit fixes these two related issues by bumping position correctly
and by always using null as the position argument to write/writeSync for
append mode files.
PR-URL: https://github.com/iojs/io.js/pull/1063
Reviewed-By: Bert Belder <bertbelder@gmail.com>
Roman Reiss [Tue, 24 Mar 2015 21:53:31 +0000 (22:53 +0100)]
doc: clarify real name requirement
CONTRIBUTING.md didn't make our rule for requiring real names from
contributors clear enough. This commit shall clarify that part.
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
PR-URL: https://github.com/iojs/io.js/pull/1250
Roman Reiss [Tue, 24 Mar 2015 21:06:27 +0000 (22:06 +0100)]
doc: document repl on-demand module loading
Fixes: https://github.com/iojs/io.js/issues/992
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
PR-URL: https://github.com/iojs/io.js/pull/1249
Mayhem [Tue, 24 Mar 2015 14:15:57 +0000 (15:15 +0100)]
lib: add missing `new` for errors lib/*.js
Not including `new` adds a useless frame and removes a potentially
useful frame.
PR-URL: https://github.com/iojs/io.js/pull/1246
Reviewed-By: Petka Antonov <petka_antonov@hotmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Alex Yursha [Tue, 17 Mar 2015 14:12:51 +0000 (17:12 +0300)]
assert: simplify logic of testing buffer equality
Delegate buffer equality check to `buffer.equals()`
PR-URL: https://github.com/iojs/io.js/pull/1171
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Christian Vaagland Tellnes <christian@tellnes.com>
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>
Forrest L Norvell [Fri, 20 Mar 2015 08:40:50 +0000 (01:40 -0700)]
deps: upgrade npm to 2.7.3
PR-URL: https://github.com/iojs/io.js/pull/1219
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Ben Noordhuis [Sun, 22 Mar 2015 23:38:42 +0000 (00:38 +0100)]
src: remove unnecessary environment lookups
Remove some unnecessary environment lookups and delete a few superfluous
HandleScope variables.
PR-URL: https://github.com/iojs/io.js/pull/1238
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Ben Noordhuis [Sun, 22 Mar 2015 23:26:59 +0000 (00:26 +0100)]
src: make accessors immune to context confusion
It's possible for an accessor or named interceptor to get called with
a different execution context than the one it lives in, see the test
case for an example using the debug API.
This commit fortifies against that by passing the environment as a
data property instead of looking it up through the current context.
Fixes: https://github.com/iojs/io.js/issues/1190 (again)
PR-URL: https://github.com/iojs/io.js/pull/1238
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Rod Vagg [Mon, 23 Mar 2015 05:28:45 +0000 (16:28 +1100)]
Working on v1.6.3
Rod Vagg [Mon, 23 Mar 2015 05:26:28 +0000 (16:26 +1100)]
2015-03-23 io.js v1.6.2 Release
Notable Changes:
* Windows: The ongoing work in improving the state of Windows support
has resulted in full test suite passes once again. As noted in the
release notes for v1.4.2, CI system and configuration problems
prevented it from properly reporting problems with the Windows
tests, the problems with the CI and the codebase appear to have been
fully resolved.
* FreeBSD: A kernel bug impacting io.js/Node.js was discovered and a
patch has been introduced to prevent it causing problems for io.js
(Fedor Indutny) #1218.
* module: you can now require('.') instead of having to require('./'),
this is considered a bugfix (Michaël Zasso) #1185.
* v8: updated to 4.1.0.25 including patches for --max_old_space_size
values above 4096 and Solaris support, both of which are already
included in io.js.
Connor Peet [Mon, 23 Mar 2015 00:45:16 +0000 (20:45 -0400)]
util: Check input to util.inherits
PR-URL: https://github.com/iojs/io.js/pull/1240
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Petka Antonov <petka_antonov@hotmail.com>
Johan Bergström [Sat, 21 Mar 2015 01:31:48 +0000 (12:31 +1100)]
deps: upgrade v8 to 4.1.0.25
PR-URL: https://github.com/iojs/io.js/pull/1224
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Ben Noordhuis [Fri, 20 Mar 2015 22:57:11 +0000 (23:57 +0100)]
test: move sequential/test-signal-unregister
Move sequential/test-signal-unregister to test/parallel, it doesn't
need to run in sequential mode.
PR-URL: https://github.com/iojs/io.js/pull/1227
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Ben Noordhuis [Fri, 20 Mar 2015 22:55:37 +0000 (23:55 +0100)]
test: fix timing issue in signal test
Change sequential/test-signal-unregister so it doesn't use fixed
timeouts for sending the signal and expecting the child to quit.
Fixes: https://github.com/iojs/io.js/issues/1223
PR-URL: https://github.com/iojs/io.js/pull/1227
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Ben Noordhuis [Sat, 21 Mar 2015 12:41:16 +0000 (13:41 +0100)]
vm: fix crash on fatal error in debug context
Ensure that the debug context has an Environment assigned in case
a fatal error is raised.
The fatal exception handler in node.cc is not equipped to deal with
contexts that don't have one and can't easily be taught that due to
a deficiency in the V8 API: there is no way for the embedder to tell
if the data index is in use.
Fixes: https://github.com/iojs/io.js/issues/1190
PR-URL: https://github.com/iojs/io.js/pull/1229
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Rod Vagg [Sun, 22 Mar 2015 06:34:07 +0000 (17:34 +1100)]
doc: update AUTHORS list
Update AUTHORS file using tools/update-authors.sh
PR-URL: https://github.com/iojs/io.js/pull/1234
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Mathieu Darse [Sat, 21 Mar 2015 13:37:47 +0000 (14:37 +0100)]
doc: fix typo in CHANGELOG
PR-URL: https://github.com/iojs/io.js/pull/1230
Reviewed-By: Rod Vagg <rod@vagg.org>
Fedor Indutny [Sat, 21 Mar 2015 23:19:04 +0000 (16:19 -0700)]
node: ensure that streams2 won't `.end()` stdin
Stdin is purely read-only stream. Although, `net.Socket` might be used
to create it if stdin is in fact a Pipe or TCP socket, the
`stream.Duplex` should not try to call `.end()` on it.
Fix: https://github.com/iojs/io.js/issues/1068
PR-URL: https://github.com/iojs/io.js/pull/1233
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Brendan Ashworth [Fri, 13 Mar 2015 08:42:21 +0000 (01:42 -0700)]
test: fix crypto-binary-default bad crypto check
This commit fixes a small bug introduced in 671fbd5
that caused the test to not be run. crypto was properly
checked, but since tls was not imported, a TypeError
would be thrown in the `try {} catch {}` block and
falsely reported as no crypto.
This is now fixed.
PR-URL: https://github.com/iojs/io.js/pull/1141
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Ben Noordhuis [Wed, 11 Mar 2015 13:19:21 +0000 (14:19 +0100)]
doc: call js function in null context
It's good practice now to call JS functions that don't execute in a
specific scope with v8::Null() as the receiver. Update the addons
documentation.
PR-URL: https://github.com/iojs/io.js/pull/1125
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Wed, 11 Mar 2015 13:14:18 +0000 (14:14 +0100)]
doc: don't use `using namespace v8`
Wholesale importing an entire namespace with `using namespace` is a bad
practice. Remove it from the addons documentation and replace it with
proper `using` directives. Wrap code in a namespace while we are here.
PR-URL: https://github.com/iojs/io.js/pull/1125
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Wed, 11 Mar 2015 13:03:02 +0000 (14:03 +0100)]
doc: replace v8::Handle<T> with v8::Local<T>
v8::Handle is on its way out, to be replaced with v8::Local. Update the
addons documentation accordingly.
PR-URL: https://github.com/iojs/io.js/pull/1125
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Wed, 11 Mar 2015 12:56:37 +0000 (13:56 +0100)]
doc: remove unnecessary v8::HandleScopes
Remove unnecessary v8::HandleScope uses from the addons documentation.
C++ API callbacks run in an implicit v8::HandleScope, there is no need
to declare one in the callback function.
PR-URL: https://github.com/iojs/io.js/pull/1125
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Wed, 11 Mar 2015 12:41:32 +0000 (13:41 +0100)]
doc: remove uses of v8::Isolate::GetCurrent()
v8::Isolate::GetCurrent() is slated for deprecation. Replace its uses
in the addons documentation with v8::Object::GetIsolate(), etc.
PR-URL: https://github.com/iojs/io.js/pull/1125
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Fri, 20 Mar 2015 16:35:52 +0000 (17:35 +0100)]
test: add setTimeout/setInterval multi-arg tests
It turns out we have little to no test coverage for setTimeout() and
setInterval() calls with optional arguments. Now we do.
PR-URL: https://github.com/iojs/io.js/pull/1221
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Fri, 20 Mar 2015 16:20:43 +0000 (17:20 +0100)]
lib: don't penalize setInterval() common case
The common case is where setInterval() is called with two arguments,
the callback and the timeout. Specifying optional arguments in
the parameter list forces common case calls to go through an arguments
adaptor stack frame.
PR-URL: https://github.com/iojs/io.js/pull/1221
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ben Noordhuis [Fri, 20 Mar 2015 15:55:19 +0000 (16:55 +0100)]
lib: don't penalize setTimeout() common case
The common case is where setTimeout() is called with two arguments,
the callback and the timeout. Specifying optional arguments in the
parameter list forces common case calls to go through an arguments
adaptor stack frame.
PR-URL: https://github.com/iojs/io.js/pull/1221
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Fedor Indutny [Fri, 20 Mar 2015 05:03:34 +0000 (22:03 -0700)]
src: reset signal handler to SIG_DFL on FreeBSD
FreeBSD has a nasty bug with SA_RESETHAND reseting the SA_SIGINFO,
that is in turn set for a libthr wrapper. This leads to a crash.
Work around the issue by manually setting SIG_DFL in the signal
handler.
Fix: https://github.com/joyent/node/issues/9326
PR-URL: https://github.com/iojs/io.js/pull/1218
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Michaël Zasso [Wed, 18 Mar 2015 07:38:00 +0000 (08:38 +0100)]
module: allow require('.')
Previously, the minimal argument to require the current directory was
require('./'). This commits allows to skip the trailing slash.
Fixes: https://github.com/iojs/io.js/issues/1178
PR-URL: https://github.com/iojs/io.js/pull/1185
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
Reviewed-By: Roman Reiss <me@silverwind.io>
Rod Vagg [Fri, 20 Mar 2015 02:24:09 +0000 (13:24 +1100)]
Working on v1.6.2
Rod Vagg [Fri, 20 Mar 2015 02:19:18 +0000 (13:19 +1100)]
2015-03-20 io.js v1.6.1 Release
Notable Changes:
* path: New type-checking on path.resolve()
<https://github.com/iojs/io.js/pull/1153> uncovered some edge-cases
being relied upon in the wild, most notably path.dirname(undefined).
Type-checking has been loosened for path.dirname(), path.basename(),
and path.extname(), (Colin Ihrig)
<https://github.com/iojs/io.js/pull/1216>.
* querystring: Internal optimizations in querystring.parse() and
querystring.stringify() <https://github.com/iojs/io.js/pull/847>
prevented Number literals from being properly converted via
querystring.escape() <https://github.com/iojs/io.js/pull/1208>,
exposing a blind-spot in the test suite. The bug and the tests have
now been fixed (Jeremiah Senkpiel)
<https://github.com/iojs/io.js/pull/1213>.
Jeremiah Senkpiel [Fri, 20 Mar 2015 01:33:04 +0000 (21:33 -0400)]
querystring: fix broken stringifyPrimitive
stringifyPrimitive has always failed to stringify numbers since its
introduction in 422d3c9. This went uncaught due to encodeURIComponent's
string coercion.
Fixes: https://github.com/iojs/io.js/issues/1208
PR-URL: https://github.com/iojs/io.js/pull/1213
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Brian White <mscdex@mscdex.net>
Jeremiah Senkpiel [Thu, 19 Mar 2015 22:51:55 +0000 (18:51 -0400)]
querystring: parse numbers correctly
Fixes a number parsing regression introduced in 85a92a3
Fixes: https://github.com/iojs/io.js/issues/1208
PR-URL: https://github.com/iojs/io.js/pull/1213
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Brian White <mscdex@mscdex.net>
cjihrig [Fri, 20 Mar 2015 00:55:31 +0000 (20:55 -0400)]
path: reduce type checking on some methods
a465840313f548b913eb2bd8ea3d26c2ab5dcebb added strict type
checking for the methods in the path module. However, dirname(),
basename(), and extname() actually had some undocumented uses
in the wild. This commit loosens the type checking on those
methods.
Fixes: https://github.com/iojs/io.js/issues/1215
PR-URL: https://github.com/iojs/io.js/pull/1216
Reviewed-By: Rod Vagg <rod@vagg.org>
Johan Bergström [Thu, 19 Mar 2015 22:15:54 +0000 (09:15 +1100)]
build: make check aliases test
A common convention in auto* is to call make check rather than
make test. Let one alias the other
PR-URL: https://github.com/iojs/io.js/pull/1211
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Ben Noordhuis [Thu, 19 Mar 2015 21:57:11 +0000 (22:57 +0100)]
configure: use cc and c++ as defaults on os x
Commit 8b2363d ("configure: use gcc and g++ as CC and CXX defaults")
switches the CC and CXX defaults but it turns out that GYP uses cc
and c++ as defaults on OS X.
It also made the configure script complain about old compilers because
the xcode gcc identifies as v4.2.1, whereas cc is less ambiguous about
it being a clang hybrid.
PR-URL: https://github.com/iojs/io.js/pull/1210
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Ben Noordhuis [Thu, 19 Mar 2015 12:35:47 +0000 (13:35 +0100)]
smalloc: don't mix malloc() and new char[]
It's technically undefined behavior to mix malloc with delete[] and
new char[] with free(). smalloc was using new char[] in one place and
malloc() in another but in both cases the memory was freed with free().
PR-URL: https://github.com/iojs/io.js/pull/1205
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Chris Dickinson [Thu, 19 Mar 2015 18:28:03 +0000 (11:28 -0700)]
Working on v1.6.1
Chris Dickinson [Thu, 19 Mar 2015 18:12:05 +0000 (11:12 -0700)]
2015-03-19 io.js v1.6.0 Release
Notable Changes:
* node: a new -r or --require command-line option can be used to
pre-load modules at start-up (Ali Ijaz Sheikh)
* querystring: parse() and stringify() are now faster (Brian White)
* http: the http.ClientRequest#flush() method has been deprecated and
replaced with http.ClientRequest#flushHeaders() to match the same
change now in Node.js v0.12 as per
https://github.com/joyent/node/pull/9048 (Yosuke Furukawa)
* net: allow server.listen() to accept a String option for port, e.g.
{ port: "1234" }, to match the same option being accepted in
net.connect() as of https://github.com/joyent/node/pull/9268 (Ben
Noordhuis)
* tls: further work on the reported memory leak although there appears
to be a minor leak remaining for the use-case in question, track
progress at https://github.com/iojs/io.js/issues/1075.
* v8: backport a fix for an integer overflow when --max_old_space_size
values above 4096 are used (Ben Noordhuis)
* platforms: the io.js CI system now reports passes on FreeBSD and
SmartOS (_Solaris_).
* npm: upgrade npm to 2.7.1. See the npm CHANGELOG.md for details.
https://github.com/npm/npm/blob/master/CHANGELOG.md#v271-2015-03-05
Shigeki Ohtsu [Thu, 19 Mar 2015 14:04:41 +0000 (23:04 +0900)]
deps: upgrade to openssl-1.0.1m
All sources are just extracted from tarball into deps/openssl/openssl.
change all openssl/include/openssl/*.h to include resolved symbolic
links and openssl/crypto/opensslconf.h to refer config/opensslconf.h
sha256-x86_64.pl does not exist in the origin openssl distribution. It
was copied from sha512-x86_64.pl and both sha256/sha512 scripts were
modified so as to generates only one asm file specified as its key
hash length.
`x86masm.pl` was mistakenly using .486 instruction set, why `cpuid`
(and perhaps others) are requiring .686.
removed vpaesni-x86_64.asm in x64-win32-masm - it is no longer used.
Fixes: https://github.com/iojs/io.js/issues/1186
PR-URL: https://github.com/iojs/io.js/pull/1206
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Aleksanteri Negru-Vode [Thu, 19 Mar 2015 13:21:33 +0000 (15:21 +0200)]
doc: fix a broken collaborator github link
PR-URL: https://github.com/iojs/io.js/pull/1204
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Thorsten Lorenz [Fri, 13 Mar 2015 19:24:01 +0000 (15:24 -0400)]
buffer: removing duplicate code
- using an overload of Alloc that does the same that was being done
inside `Buffer::New`
The overload we now call inside `smalloc.cc` takes care of the same as
the code that was removed:
if (length == 0)
return Alloc(env, obj, nullptr, length, type);
char* data = static_cast<char*>(malloc(length));
if (data == nullptr) {
FatalError("node::smalloc::Alloc(v8::Handle<v8::Object>, size_t,"
" v8::ExternalArrayType)", "Out Of Memory");
}
Alloc(env, obj, data, length, type);
PR-URL: https://github.com/iojs/io.js/pull/1144
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Ali Ijaz Sheikh [Tue, 17 Feb 2015 22:37:37 +0000 (14:37 -0800)]
src: add -r/--require flags for preloading modules
This patch adds a command line option (-r/--require) that allows one
to provide modules on the command line that will be 'required' during
node startup. This can be useful for debugging, tracing, memory leak
analysis etc. to be preloaded without explicit changes to the user
script. The option can be repeated to preload multiple modules.
PR-URL: https://github.com/iojs/io.js/pull/881
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
Rod Vagg [Wed, 18 Mar 2015 22:27:26 +0000 (09:27 +1100)]
test: cache lazy properties, fix style nits
inFreeBSDJail involves an execSync() and is used by localhost_ipv4 so
will be unnecessarily expensive, so cache both values and reuse
rather than re-evaluate each time.
Renamed localhost_ipv4 to localhostIPv4 for style consistency.
PR-URL: https://github.com/iojs/io.js/pull/1196
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Fedor Indutny [Thu, 19 Mar 2015 03:15:06 +0000 (20:15 -0700)]
test: double timeout in tls-wrap-timeout.js
The test is timing dependent, ensure that it won't fail on the busy CI
boxes.
Fix: https://github.com/iojs/io.js/issues/1200
PR-URL: https://github.com/iojs/io.js/pull/1201
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Jeremiah Senkpiel [Thu, 19 Mar 2015 01:03:14 +0000 (21:03 -0400)]
build: remove incorrect argument in vcbuild.bat
This change had been incorrectly committed in f19e9b6
PR-URL: https://github.com/iojs/io.js/pull/1198
Reviewed-By: Rod Vagg <rod@vagg.org>
Ben Noordhuis [Wed, 18 Mar 2015 21:31:16 +0000 (22:31 +0100)]
lib: don't error in repl when cwd doesn't exist
The current working directory may not exist when the REPL starts up.
Don't treat that as an error because it's still possible to do many
useful things. This is like the previous commit but for the REPL.
Fixes: https://github.com/iojs/io.js/issues/1184
PR-URL: https://github.com/iojs/io.js/pull/1194
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
Ben Noordhuis [Wed, 18 Mar 2015 21:11:14 +0000 (22:11 +0100)]
src: don't error at startup when cwd doesn't exist
The current working directory may not exist when iojs starts up. Don't
treat that as an error because it's still possible to do many useful
things, like evaluating a command line script or starting a REPL.
This commit also fixes an age-old Windows bug where process.argv[0] was
not properly expanded, that's why the parallel/test-process-argv-0 test
gets an update as well.
Fixes: https://github.com/iojs/io.js/issues/1184
PR-URL: https://github.com/iojs/io.js/pull/1194
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Rod Vagg <rod@vagg.org>
Johan Bergström [Tue, 17 Mar 2015 01:06:48 +0000 (12:06 +1100)]
test: Introduce knowledge of FreeBSD jails
FreeBSD jails act differently than your average vm or similar
application container. All routing passes through one ip address,
which makes things like localhost or 0.0.0.0 resolve differently.
Introduce a helper that allows us to verify if we're in a jail
and another one for returning an ip address for localhost.
Also, skip one test instead of trading additional complexity
in common.js for one specific user scenario.
PR-URL: https://github.com/iojs/io.js/pull/1167
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Ben Noordhuis [Wed, 18 Mar 2015 18:20:23 +0000 (19:20 +0100)]
src: fix crypto bio integer wraparound on 32 bits
Fix a bug where a size_t was negated and passed to a function that takes
an int64_t. It works by accident when sizeof(size_t) == sizeof(int64_t)
but it causes the value to underflow when size_t is a 32 bits type.
v8::Isolate::AdjustAmountOfExternalAllocatedMemory() is the function I'm
talking about. The goal of that call is to tell V8 that some memory has
been freed but due to that underflow, we were actually reporting that we
had just allocated gigabytes of memory. It set off a garbage collector
frenzy and essentially brought the VM to a standstill.
Fixes: https://github.com/iojs/io.js/issues/1188
PR-URL: https://github.com/iojs/io.js/pull/1192
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Yosuke Furukawa [Wed, 18 Mar 2015 00:33:39 +0000 (09:33 +0900)]
doc: add yosuke-furukawa as collaborator
PR-URL: https://github.com/iojs/io.js/pull/1183
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Ben Noordhuis [Tue, 17 Mar 2015 19:46:32 +0000 (20:46 +0100)]
doc: update test section in CONTRIBUTING.md
test/simple no longer exists, tell contributors to add their tests to
test/parallel.
PR-URL: https://github.com/iojs/io.js/pull/1181
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Petka Antonov [Tue, 17 Mar 2015 19:53:57 +0000 (21:53 +0200)]
doc: add petkaantonov as collaborator
PR-URL: https://github.com/iojs/io.js/pull/1179
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: cjihrig <cjihrig@gmail.com>
Roman Reiss [Tue, 17 Mar 2015 18:24:31 +0000 (19:24 +0100)]
doc: add silverwind as collaborator
PR-URL: https://github.com/iojs/io.js/pull/1176
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Johan Bergström [Tue, 17 Mar 2015 17:52:48 +0000 (04:52 +1100)]
doc: add jbergstroem as collaborator
PR-URL: https://github.com/iojs/io.js/pull/1175
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Ben Noordhuis [Tue, 17 Mar 2015 15:36:36 +0000 (16:36 +0100)]
configure: use gcc and g++ as CC and CXX defaults
It matches what GYP's Makefile generator does and it should improve
compiler detection because cc and c++ are not always gcc and g++.
Fixes: https://github.com/iojs/io.js/issues/1173
PR-URL: https://github.com/iojs/io.js/pull/1174
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Alex Yursha [Tue, 17 Mar 2015 10:28:36 +0000 (13:28 +0300)]
doc: fix typo in buffer module documentation
PR-URL: https://github.com/iojs/io.js/pull/1169
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Brendan Ashworth [Tue, 10 Feb 2015 03:36:52 +0000 (19:36 -0800)]
benchmark: add output format option [csv]
This commit adds an `OUTPUT_FORMAT` environment variable option for
all benchmark tests that allow either 'csv' or 'default' output. Default
output has been left unchanged, and csv output prints out the csv
headers along with the csv formatted per-test output, each test also
seperated by a newline.
It can be used like the following:
$ OUTPUT_FORMAT=csv iojs benchmark/common.js http
Not specifying the OUTPUT_FORMAT env var will default to 'default'.
Specifying a bad value will throw an error.
PR-URL: https://github.com/iojs/io.js/pull/777
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Brendan Ashworth [Tue, 10 Feb 2015 04:25:47 +0000 (20:25 -0800)]
benchmark: add plot_csv R graphing script
This commit adds a graphing script (in R) for graphing the CSV output
of a benchmark. It can be run like this:
```
$ OUTPUT_FORMAT=csv iojs benchmark/http/client-request-body.js >
data.csv
$ ./benchmark/plot_csv.R data.csv graph.png bytes type
```
This will graph the output to `graph.png`, using the output's `bytes`
value as X and the result value for each as Y. Output will be grouped
by `type`.
Running as the example yields a beautiful graph like this:
http://pbrd.co/1vBhUfy.
PR-URL: https://github.com/iojs/io.js/pull/777
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Ben Noordhuis [Mon, 9 Feb 2015 07:00:32 +0000 (23:00 -0800)]
v8: fix --max_old_space_size=4096 integer overflow
See https://code.google.com/p/v8/issues/detail?id=3857 for the bug
report and https://codereview.chromium.org/
897543002 for the CL.
PR-URL: https://github.com/iojs/io.js/pull/1166
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Yosuke Furukawa [Sat, 14 Mar 2015 07:24:07 +0000 (16:24 +0900)]
http: add flushHeaders and deprecate flush
PR-URL: https://github.com/iojs/io.js/pull/1156
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>