Commit Graph

11723 Commits (1a51f0058c10abf0bcd8048f4ab6755b400b23c2)

Author SHA1 Message Date
Ben Noordhuis 1a51f0058c v8: cherry-pick JitCodeEvent patch from upstream
Original commit log follows:

    Meaningful name for builtins in JitCodeEvent API.

    Report builtins by name (e.g. "Builtin:ArgumentsAdaptorTrampoline")
    instead of labeling everything "Builtin:A builtin from the snapshot"

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

PR-URL: https://github.com/nodejs/io.js/pull/2075
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-29 14:44:36 +02:00
Shigeki Ohtsu 9e890fe8b4 crypto: fix VerifyCallback in case of verify error
3beb880716 has a bug in VerifyCallback
when preverify is 1 and the cert chain has an verify error. If the
error is UNABLE_TO_GET_ISSUER_CERT_LOCALLY, it leads an assertion
error in finding rootCA.
The whitelist check should be made only when the cert chain has no
verify error with X509_V_OK.

Fixes: https://github.com/nodejs/io.js/issues/2061
PR-URL: https://github.com/nodejs/io.js/pull/2064
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-27 10:38:47 +09:00
Chris Dickinson 8cee8f54fc src: nix stdin _readableState.reading manipulation
this opts for stream.push('') which has the same effect
but uses a public API.

PR-URL: https://github.com/nodejs/io.js/pull/454
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2015-06-26 11:04:57 -07:00
Evan Lucas 7f63449fde net: fix debug for dnsopts
Prevent debug call from showing [object Object] for dnsopts in
lookupAndConnect

PR-URL: https://github.com/nodejs/io.js/pull/2059
Reviewed-by: Colin Ihrig <cjihrig@gmail.com>
2015-06-26 07:42:43 -05:00
Trevor Norris 1cd9eeb556 buffer: prevent abort on bad proto
If an object's prototype is munged it's possible to bypass the
instanceof check and cause the application to abort. Instead now use
HasInstance() to verify that the object is a Buffer, and throw if not.

This check will not work for JS only methods. So while the application
won't abort, it also won't throw.

In order to properly throw in all cases with toString() the JS
optimization of checking that length is zero has been removed. In its
place the native methods will now return early if a zero length string
is detected.

Ref: https://github.com/nodejs/io.js/pull/1486
Ref: https://github.com/nodejs/io.js/pull/1922
Fixes: https://github.com/nodejs/io.js/issues/1485
PR-URL: https://github.com/nodejs/io.js/pull/2012
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-25 13:07:01 -06:00
Rich Trott 856c11f8c8 test: purge stale disabled tests
Tests in the disabled directory are not used by Makefile nor by the CI.
Other than a single 2015 commit that puts 'use strict' in each test,
many of them haven't been touched in years.

This removes all the disabled tests that have been unmodified since
2011 (with the exception of the 'use strict' modification mentioned
above).

PR-URL: https://github.com/nodejs/io.js/pull/2045
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2015-06-25 11:21:41 -07:00
Rich Trott 4d5089e181 test: do not swallow OpenSSL support error
PR-URL: https://github.com/nodejs/io.js/pull/2042
Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-25 11:13:35 -07:00
Ben Noordhuis 8350f3a3a2 buffer: optimize Buffer#toString()
Break up Buffer#toString() into a fast and slow path.  The fast path
optimizes for zero-length buffers and no-arg method invocation.

The speedup for zero-length buffers is a satisfying 700%.  The no-arg
toString() operation gets faster by about 13% for a one-byte buffer.

This change exploits the fact that most Buffer#toString() calls are
plain no-arg method calls.  Rewriting the method to take no arguments
means a call doesn't go through an ArgumentsAdaptorTrampoline stack
frame in the common case.

PR-URL: https://github.com/nodejs/io.js/pull/2027
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Christian Tellnes <christian@tellnes.no>
Reviewed-By: Daniel Cousens <email@dcousens.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-25 18:32:15 +02:00
cjihrig 06721fe005 test: fix test-repl-tab-complete.js
test-repl-tab-complete.js contains numerous assertions that are
never run. Anything that results in a ReferenceError bails out,
and never calls the functions containing the assertions. This
commit adds checking for successful tab completions, as well as
ReferenceErrors.

PR-URL: https://github.com/nodejs/io.js/pull/2052
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-25 12:18:56 -04:00
Julien Gilli a198c68b56 repl: make 'Unexpected token' errors recoverable
Fix the regexp used to detect 'Unexpected token' errors so that they can
be considered as recoverable. This fixes the following use case:

> var foo = 'bar \
... baz';
undefined
> foo
'bar baz'
>

Fixes: https://github.com/joyent/node/issues/8874
PR-URL: https://github.com/joyent/node/pull/8875
PR-URL: https://github.com/nodejs/io.js/pull/2052
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-25 12:17:51 -04:00
Sangmin Yoon d735b2c6ef repl: fix tab completion for a non-global context
Use vm.isContext() to properly identify contexts.

PR-URL: https://github.com/joyent/node/pull/25382
PR-URL: https://github.com/nodejs/io.js/pull/2052
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-25 12:16:41 -04:00
Ivan Yan c370bd3aea doc: make the abbreviation 1MM clear
Refs: https://github.com/nodejs/io.js/pull/2050
PR-URL: https://github.com/nodejs/io.js/pull/2053
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2015-06-25 11:42:09 -04:00
Rod Vagg 628a3ab093 build: add tar-headers target for headers-only tar
to replace the full src download by node-gyp, using the proper format
instead of the full source format

PR-URL: https://github.com/nodejs/io.js/pull/1975
Reviewed-By: William Blankenship <william.jblankenship@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-25 19:17:58 +10:00
Shigeki Ohtsu 1f371e3988 deps: copy all openssl header files to include dir
On upgrading openssl, all symlinks in pulic header files are replaced
with nested include files. The issue was raised that installing them
leads to lost its references to real header files.
To avoid this, all public header files are copied into the
`deps/openssl/openssl/include/openssl/` directory.
As a result, we have duplicated header files under
`deps/openssl/openssl/` but copied files are refereed in build as
specified to include path in openssl.gyp.

Fixes: https://github.com/nodejs/io.js/pull/1975
PR-URL: https://github.com/nodejs/io.js/pull/2016
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-25 19:17:41 +10:00
Rod Vagg dcbb9e1da6 build: update build targets for io.js
PR-URL: https://github.com/nodejs/io.js/pull/1938
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-06-25 15:22:27 +10:00
Rich Trott 8e9089ac35 test: check for error on Windows
Instead of not running the dgram-bind-shared-ports
on Windows, check that it gets ENOTSUP.

PR-URL: https://github.com/nodejs/io.js/pull/2035
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-06-24 21:04:05 -07:00
Rod Vagg c87c34c242 build: fix cherry-pick ooops, fix comment wording
PR-URL: https://github.com/nodejs/io.js/pull/2036
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-06-25 13:01:07 +10:00
Rod Vagg 4208dc4fef build: add MSVS 2015 support
PR-URL: https://github.com/nodejs/io.js/pull/2036
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-06-25 13:00:27 +10:00
Alexis Campailla c0c0d73269 build,win: set env before generating projects
vcbuild.bat calls python configure before setting GYP_MSVS_VERSION,
so SelectVisualStudioVersion (tools\gyp\pylib\gyp\MSVSVersion.py)
defaults to 'auto' and selects VS 2005.

vcbuild sets the environment in the current shell, so this issue
would manifest itself only on the first invocation of the script
in any given shell windows.

Reviewed-By: Julien Gilli <jgilli@fastmail.fm>
PR-URL: https://github.com/joyent/node/pull/20109
2015-06-25 13:00:00 +10:00
Jimmy Hsu 54d5437566 doc: Added sample command to test iojs build
PR-URL: https://github.com/nodejs/io.js/pull/850
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
2015-06-24 17:26:09 -07:00
Rod Vagg f1f1b7e597 doc: add TSC meeting minutes 2015-06-17
PR-URL: https://github.com/nodejs/io.js/pull/2048
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-06-25 08:59:43 +10:00
Jeremiah Senkpiel dbd5dc932d doc: clarify prerequisites in benchmark/README.md
PR-URL: https://github.com/nodejs/io.js/pull/2034
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-24 09:57:22 -07:00
Rod Vagg 50dbc8e143 doc: add TSC meeting minutes 2015-05-27
closes: https://github.com/nodejs/node/issues/41
PR-URL: https://github.com/nodejs/io.js/pull/2037
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-24 20:49:23 +10:00
Rod Vagg 941ad362a7 doc: archive io.js TC minutes 2015-06-24 20:49:13 +10:00
Rod Vagg 644b2eaa89 doc: rename tc-meetings to tsc-meetings 2015-06-24 20:49:13 +10:00
Rich Trott 776a65ebcd test: remove obsolete TODO comments
The readfile/pipe tests rely on pre-existing pipes in the system.
This arguably tests the OS functionality and not really io.js
functionality. Removing TODOs.

PR-URL: https://github.com/nodejs/io.js/pull/2033
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-23 15:19:28 -07:00
Rich Trott bdfeb798ad test: remove obsolete TODO comments
Not using test_ca.pem in these files anymore.
Using elipses.txt which has multibyte chars.
Not clear what constitutes "large" but that
can be a different ticket if elipses.txt etc.
are insufficiently large.

PR-URL: https://github.com/nodejs/io.js/pull/2032
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-23 15:11:35 -07:00
Evan Lucas 834a365113 build: DTrace is enabled by default on darwin
In configure, the --with-dtrace option only showed that it was true by
default on sunos. It is also true by default on darwin.

PR-URL: https://github.com/nodejs/io.js/pull/2019
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-23 11:27:31 -05:00
Rod Vagg 1330ee3b27 doc: add TC meeting 2015-05-13 minutes
PR-URL: https://github.com/nodejs/io.js/pull/1700
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-23 19:57:37 +10:00
Rod Vagg 392e8fd64e doc: add @shigeki and @mscdex to TC
voted in to Node.js Foundation TSC in meeting on 2015-06-17

Closes: https://github.com/nodejs/io.js/issues/1500
Closes: https://github.com/nodejs/io.js/issues/1501
PR-URL: https://github.com/nodejs/io.js/pull/2008
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-23 19:52:59 +10:00
Rod Vagg 81ae82ec3b Working on v2.3.2 2015-06-23 15:33:08 +10:00
Rod Vagg 8e53fd5371 2015-06-23 io.js v2.3.1 Release
PR-URL: https://github.com/nodejs/io.js/pull/1996

Notable changes

* module: The number of syscalls made during a require() have been
  significantly reduced again (see #1801 from v2.2.0 for previous
  work), which should lead to a performance improvement
  (Pierre Inglebert) #1920.
* npm:
  - Upgrade to v2.11.2 (Rebecca Turner) #1956.
  - Upgrade to v2.11.3 (Forrest L Norvell) #2018.
* zlib: A bug was discovered where the process would abort if the
  final part of a zlib decompression results in a buffer that would
  exceed the maximum length of 0x3fffffff bytes (~1GiB). This was
  likely to only occur during buffered decompression (rather than
  streaming). This is now fixed and will instead result in a thrown
  RangeError (Michaël Zasso) #1811.
2015-06-23 15:32:41 +10:00
Rich Trott 5d2b846d11 test: assert tmp and fixture dirs different
PR-URL: https://github.com/nodejs/io.js/pull/2015
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-22 12:00:05 -07:00
Michaël Zasso a4f4909f3d module: fix stat with long paths on Windows
PR-URL: https://github.com/nodejs/io.js/pull/2013
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-22 22:03:31 +10:00
Rich Trott b0990ef45d test: confirm symlink
PR-URL: https://github.com/nodejs/io.js/pull/2014
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-20 15:18:39 -07:00
Rich Trott 3ba4f71fc4 test: check result as early as possible
PR-URL: https://github.com/nodejs/io.js/pull/2007
Reviewed-By: Rod Vagg <rod@vagg.org>
2015-06-19 22:34:54 -07:00
Rod Vagg 8ac50819b6 doc: add security section to README.md
PR-URL: https://github.com/nodejs/io.js/pull/1948
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-06-19 12:02:33 -07:00
Bert Belder 0ecf9457b5 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>
2015-06-19 11:18:32 -07:00
cjihrig 48c0fb8b1a deps: make node-gyp work with io.js
Every npm version bump requires a few patches to be floated on
node-gyp for io.js compatibility. These patches are found in
03d199276e,
5de334c230, and
da730c76e9. This commit squashes
them into a single commit.

PR-URL: https://github.com/iojs/io.js/pull/990
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-19 11:18:32 -07:00
Forrest L Norvell 6a359b1ce9 deps: upgrade to npm 2.11.3
PR-URL: https://github.com/nodejs/io.js/pull/2018
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-06-19 11:17:49 -07:00
Johan Bergström c5353d7c62 build: remove lint from test-ci on windows
PR-URL: https://github.com/nodejs/io.js/pull/2004
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Alexis Campailla <alexis@janeasystems.com>
2015-06-19 13:07:50 +10:00
Christian Tellnes 1f93b63b11 doc: change the info to the same as in gitconfig
PR-URL: https://github.com/nodejs/io.js/pull/2000
Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2015-06-18 08:37:55 +02:00
Rich Trott 0cf94e6856 doc: mention CI in Collaborator Guide
Add link to Jenkins server in Collaborator Guide.

PR-URL: https://github.com/nodejs/io.js/pull/1995
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-06-17 21:29:23 -07:00
Pierre Inglebert a71ee93afe module: reduce syscalls during require search
require() now checks that the path exists before searching
further in it.

PR-URL: https://github.com/nodejs/io.js/pull/1920
Reviewed-By: Isaac Z. Schlueter <i@izs.me>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-06-17 17:24:29 -07:00
James Hartig 061342a500 net: Defer reading until listeners could be added
Defer reading until user-land has a chance to add listeners. This
allows the TLS wrapper to listen for _tlsError and trigger a
clientError event if the socket already has data that could trigger.

Fixes: https://github.com/nodejs/io.js/issues/1114
PR-URL: https://github.com/nodejs/io.js/pull/1496
Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2015-06-17 14:49:02 -07:00
Rich Trott 7a3006efe4 doc: add TOC links to Collaborator Guide
PR-URL: https://github.com/nodejs/io.js/pull/1994
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2015-06-17 14:45:33 -07:00
Bert Belder 30638b150f doc: add TSC meeting notes 2015-06-10
PR-URL: https://github.com/nodejs/io.js/pull/1943
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-06-17 12:59:58 -07:00
Rich Trott 0abcf44d6b test: add Buffer slice UTF-8 test
PR-URL: https://github.com/nodejs/io.js/pull/1989
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-17 13:02:56 -06:00
Trevor Norris e56758a5e0 async-wrap: add provider id and object info cb
Re-add the wrapper class id to AsyncWrap instances so they can be
tracked directly in a heapdump.

Previously the class id was given without setting the heap dump wrapper
class info provider. Causing a segfault when a heapdump was taken. This
has been added, and the label_ set to the given provider name so each
instance can be identified.

The id will not be set of the passed object has no internal field count.
As the class pointer cannot be retrieved from the object.

In order to properly report the allocated size of each class, the new
pure virtual method self_size() has been introduces.

PR-URL: https://github.com/nodejs/io.js/pull/1896
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2015-06-17 12:58:39 -06:00
Ben Noordhuis 5d0cee46bb vm: remove unnecessary HandleScopes
The accessors run inside an implicit HandleScope, there is no need to
create a new one.

PR-URL: https://github.com/nodejs/io.js/pull/2001
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2015-06-17 17:49:52 +02:00