- Mar 06, 2015
-
-
Johan Bergström authored
After upgrading to a newer v8 mdb is pretty much broken - even if using the latest updates from nodejs. If nodejs decides to update their v8 we can give it another go, but for now it's better to remove it than have it in our tree unsupported. PR-URL: https://github.com/iojs/io.js/pull/1023 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org>
-
Christian Tellnes authored
This changes the behavior for http to send send a Content-Length header instead of using chunked encoding when we know the size of the body when sending the headers. Fixes: https://github.com/iojs/io.js/issues/1044 PR-URL: https://github.com/iojs/io.js/pull/1062 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Rod Vagg <rod@vagg.org> Reviewed-By:
Brian White <mscdex@mscdex.net>
-
Ben Noordhuis authored
StringBytes::Write() did a plain memcpy() when is_extern is true but that's wrong when the source is a two-byte string and the destination a one-byte or UTF-8 string. The impact is limited to strings > 1,031,913 bytes because those are normally the only strings that are externalized, although the use of the 'externalize strings' extension (--expose_externalize_string) can also trigger it. This commit also cleans up the bytes versus characters confusion in StringBytes::Write() because that was closely intertwined with the UCS-2 encoding regression. One wasn't fixable without the other. Fixes: https://github.com/iojs/io.js/issues/1024 Fixes: https://github.com/joyent/node/issues/8683 PR-URL: https://github.com/iojs/io.js/pull/1042 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Ben Noordhuis authored
Make StringBytes::GetExternalParts() return the byte length for two-byte strings, not the character length. Its callers operate on bytes, not characters. This also fixes StringBytes::Size() reporting only half of the actual number of bytes for external two-byte strings. PR-URL: https://github.com/iojs/io.js/pull/1042 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Ben Noordhuis authored
Make the algorithm that creates the big input strings a little easier to comprehend. No functional changes, the string lengths are unchanged. PR-URL: https://github.com/iojs/io.js/pull/1042 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Ben Noordhuis authored
Rename `val_` to `string`. The underscore suffix is normally reserved for data members, not locals, and it's not a great name in the first place. PR-URL: https://github.com/iojs/io.js/pull/1042 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Ben Noordhuis authored
* Remove kStorageSize constant. * Remove superfluous local variable and reinterpret_cast. * Reorder data members so the length field and data pointer (if not the data itself) fit in a single cache line. PR-URL: https://github.com/iojs/io.js/pull/1042 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Ben Noordhuis authored
Introduced in joyent/node v0.10 as a backwards compatibility measure. It's an ugly hack and allowing invalid UTF-8 is not a good idea in the first place, remove it. PR-URL: https://github.com/iojs/io.js/pull/1042 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Ben Noordhuis authored
Large external two-byte strings reported their character length instead of their byte length, throwing off the garbage collector heuristic by a factor of two. PR-URL: https://github.com/iojs/io.js/pull/1042 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Ben Noordhuis authored
PR-URL: https://github.com/iojs/io.js/pull/1042 Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Petka Antonov authored
PR-URL: https://github.com/iojs/io.js/pull/980 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Ben Noordhuis authored
Make parallel/test-domain-abort-on-uncaught a little easier to debug, make it execute the tests in the same process instead of each test in a separate child process. PR-URL: https://github.com/iojs/io.js/pull/974 Reviewed-By:
Chris Dickinson <christopher.s.dickinson@gmail.com>
-
Ben Noordhuis authored
Turn counter macros into no-op instructions when counters are disabled. Evaluating to nothing makes gcc complain when the macro is used in a conditional. Fixes the following warning: ../src/tls_wrap.cc:320:5: warning: suggest braces around empty body in an 'if' statement [-Wempty-body] NODE_COUNT_NET_BYTES_SENT(write_size_); ^ PR-URL: https://github.com/iojs/io.js/pull/974 Reviewed-By:Chris Dickinson <christopher.s.dickinson@gmail.com>
-
Ben Noordhuis authored
Extend the configure script so that it knows how to generate build files for mips and mipsel. Actually building io.js is pending MIPS buildbots. PR-URL: https://github.com/iojs/io.js/pull/1045 Reviewed-By:
Rod Vagg <rod@vagg.org>
-
Ben Noordhuis authored
Avoid a costly String#toLowerCase() call in Buffer#write() in the common case, i.e., that the string is already lowercase. Reduces the running time of the following benchmark by about 40%: for (var b = Buffer(1), i = 0; i < 25e6; ++i) b.write('x', 'ucs2'); PR-URL: https://github.com/iojs/io.js/pull/1048 Reviewed-By:Trevor Norris <trev.norris@gmail.com>
-
Ben Noordhuis authored
The Buffer constructor is used pervasively throughout io.js, yet it was one of the most unwieldy functions in core. This commit breaks up the constructor into several small functions in a way that makes V8 happy. About 8-10% CPU time was attributed to the constructor function before in buffer-heavy benchmarks. That pretty much drops to zero now because V8 can now easily inline it at the call site. It shortens the running time of the following simple benchmark by about 15%: for (var i = 0; i < 25e6; ++i) new Buffer(1); And about 8% from this benchmark: for (var i = 0; i < 1e7; ++i) new Buffer('x', 'ucs2'); PR-URL: https://github.com/iojs/io.js/pull/1048 Reviewed-By:Trevor Norris <trev.norris@gmail.com>
-
Fedor Indutny authored
UV_TTY does not support `uv_shutdown()` so adding this method in StreamBase will cause an `abort()` in C land. Fix: https://github.com/iojs/io.js/issues/1068 PR-URL: https://github.com/iojs/io.js/pull/1073 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- Mar 05, 2015
-
-
cjihrig authored
The added validation allows non-negative numbers and numeric strings. All other values result in a thrown exception. Fixes: https://github.com/joyent/node/issues/9194 PR-URL: https://github.com/joyent/node/pull/9268 Reviewed-By:
Julien Gilli <julien.gilli@joyent.com> Reviewed-By:
Trevor Norris <trev.norris@gmail.com> Reviewed-By:
James M Snell <jasnell@users.noreply.github.com>
-
Chris Dickinson authored
this brings the error messaging in line with other node TypeError messages. Fixes: https://github.com/joyent/node/issues/7766 PR-URL: https://github.com/joyent/node/pull/8723 Reviewed-By:
James M Snell <jasnell@users.noreply.github.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Bert Belder authored
The test-stdin-from-from-file test runs a subprocess that verifies stdin can be piped from a file. The subprocess additionally attempts to verify that the file descriptor for stdin never gets closed. It used to do this by creating a TCP server and asserting that the associated file descriptor is greater than two. However this strategy doesn't work on windows, because servers don't have an associated file descriptor. With this patch an ordinary file is opened instead of creating a server. PR: https://github.com/iojs/io.js/pull/1067 Reviewed-By:
Fedor Indutny <fedor@indutny.com> Reviewed-By:
Rod Vagg <rod@vagg.org> Reviewed-By:
Nikolai Vavilov <vvnicholas@gmail.com>
-
Jonathan Ong authored
PR-URL: https://github.com/iojs/io.js/pull/635 Reviewed-By:
Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
-
Ken Perkins authored
As a result of 979d0ca8 there is a new check for undefined values on OutgoingMessage.setHeader. This commit introduces a test for this case. PR-URL: https://github.com/iojs/io.js/pull/970 Reviewed-By:
Rod Vagg <rod@vagg.org> Reviewed-By:
Brendan Ashworth <brendan.ashworth@me.com>
-
Johan Bergström authored
PR-URL: https://github.com/iojs/io.js/pull/982 Reviewed-By:
Rod Vagg <rod@vagg.org>
-
Johan Bergström authored
wrk is an optional tool that some of the http benchmarks uses. The removal doesn't affect any users. Developers are assumed to install it before running the tests. This change reduces the tarball by 5% PR-URL: https://github.com/iojs/io.js/pull/982 Reviewed-By:
Rod Vagg <rod@vagg.org>
-
Brian White authored
This both switches to a single algorithm for array cloning and also speeds up (by ~100% in the ee-listeners-many benchmark) the "many elements" case that was previously handled by `array.slice()`. PR-URL: https://github.com/iojs/io.js/pull/1050 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Julian Duque <julianduquej@gmail.com>
-
Johan Bergström authored
this makes the separation between http and https testing cleaner PR-URL: https://github.com/iojs/io.js/pull/1049 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Shigeki Ohtsu <ohtsu@iij.ad.jp>
-
Johan Bergström authored
we had a few ways versions of looking for support before executing a test. this commit unifies them as well as add the check for all tests that previously lacked them. found by running `./configure --without-ssl && make test`. also, produce tap skip output if the test is skipped. PR-URL: https://github.com/iojs/io.js/pull/1049 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Shigeki Ohtsu <ohtsu@iij.ad.jp>
-
Johan Bergström authored
the previous version checked if io.js was compiled with openssl support which isn't really relevant since we're starting a http server. we on the other hand need an openssl-cli which may or may not exist. PR-URL: https://github.com/iojs/io.js/pull/1049 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Shigeki Ohtsu <ohtsu@iij.ad.jp>
-
Johan Bergström authored
PR-URL: https://github.com/iojs/io.js/pull/1049 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Shigeki Ohtsu <ohtsu@iij.ad.jp>
-
Johan Bergström authored
since this applies to tls and https (among other things), it'll be used for those tests as well. if we decouple the build system to somehow support crypto but not tls, we could refine this. PR-URL: https://github.com/iojs/io.js/pull/1049 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Shigeki Ohtsu <ohtsu@iij.ad.jp>
-
Johan Bergström authored
PR-URL: https://github.com/iojs/io.js/pull/1049 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Shigeki Ohtsu <ohtsu@iij.ad.jp>
-
Trevor Norris authored
Add Buffer#indexOf(). Support strings, numbers and other Buffers. Also included docs and tests. Special thanks to Sam Rijs <srijs@airpost.net> for first proposing this change. PR-URL: https://github.com/iojs/io.js/pull/561 Reviewed-by:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Brian White <mscdex@mscdex.net> Reviewed-By:
Chris Dickinson <christopher.s.dickinson@gmail.com>
-
Christian Tellnes authored
`'use strict'` changes the behavior for `Function.prototype.call` when the context is `undefined`. In earlier versions of node the value `undefined` would make `url.format` look for fields in the global scope. The docs states that `url.format` takes a parsed URL object and returns a formatted URL string. So with this change it will now throw for other values. The exception is if the input is a string. Then it will call `url.parse` on the string and then format it. The reason for that is that you can call `url.format` on strings to clean up potentially wonky urls. Fixes: https://github.com/iojs/io.js/issues/1033 PR-URL: https://github.com/iojs/io.js/pull/1036 Reviewed-By:
Trevor Norris <trev.norris@gmail.com> Reviewed-By:
Brian White <mscdex@mscdex.net> Reviewed-By:
Julian Duque <julianduquej@gmail.com>
-
Rod Vagg authored
PR-URL: https://github.com/iojs/io.js/pull/1051 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Ruben Verborgh authored
setImmediate, setTimeout, and setInterval were called in an inefficient way, especially in the presence of arguments. This optimization improves their performance, with special cases for up to 4 arguments. Performance of setImmediate increases with 35%, setInterval with 60%, setTimeout with 70%. PR-URL: https://github.com/iojs/io.js/pull/406 Reviewed-by:
Trevor Norris <trev.norris@gmail.com> Reviewed-by:
Christian Tellnes <christian@tellnes.com>
-
- Mar 04, 2015
-
-
cjihrig authored
PR-URL: https://github.com/iojs/io.js/pull/1056 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
Ben Noordhuis authored
Fix the following compiler warning by static_casting the enum values to an uint32_t: ../src/smalloc.cc: In function 'void node::smalloc::Initialize(v8::Handle<v8::Object>, v8::Handle<v8::Value>, v8::Handle<v8::Context>)': ../src/smalloc.cc:601:203: warning: enumeral and non-enumeral type in conditional expression EXTERNAL_ARRAY_TYPES(V) PR-URL: https://github.com/iojs/io.js/pull/1055 Reviewed-By:Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
-
Vladimir Kurchatkin authored
PR-URL: https://github.com/iojs/io.js/pull/920 Reviewed-By:
Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Vladimir Kurchatkin authored
PR-URL: https://github.com/iojs/io.js/pull/920 Reviewed-By:
Chris Dickinson <christopher.s.dickinson@gmail.com> Reviewed-By:
Trevor Norris <trev.norris@gmail.com>
-
Brendan Ashworth authored
This commit does some small optimization changes on `lib/_http_outgoing.js`. These include switching from `while` loops to `for` loops, moving away from `util` to `typeof` checks, and removing dead code. It also includes variable caches to avoid lookups and generic style changes. All in all, much faster execution. It gets an across the board increase in req/sec on the benchmarks, from my experience about a 10% increase. PR-URL: https://github.com/iojs/io.js/pull/605 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Nicu Micleușanu <micnic90@gmail.com> Reviewed-By:
Christian Vaagland Tellnes <christian@tellnes.com> Reviewed-By:
Brian White <mscdex@mscdex.net>
-