Change formatProperty in util.js to use Object.getOwnPropertyDescriptor
instead of __lookup[GS]etter__.
Use the cached value from the descriptor to reduce number of property
lookups from 3 to 1.
Fallback to standard lookup if the descriptor is empty. This doesn't
ever happen with normal JS objects (this function is called only when
the key exists) but apparently does with Node's custom ENV interface.
Fixes: #2109.
As RFC 2616 says we should, assume that servers will provide a persistent
connection by default.
> A significant difference between HTTP/1.1 and earlier versions of
> HTTP is that persistent connections are the default behavior of any
> HTTP connection. That is, unless otherwise indicated, the client
> SHOULD assume that the server will maintain a persistent connection,
> even after error responses from the server.
> HTTP/1.1 applications that do not support persistent connections MUST
> include the "close" connection option in every message.
Fixes#2436.
This was a very significant improvement that should have been called out
explicitly.
I added 'review all libuv changes' to my build checklist. It won't
happen again. Sorry, @igorzi.
uncaughtException handlers installed by the user override the default one that
the cluster module installs, the one that kills off the master process.
Fixes#2556.
- If V8 snapshots are enabled then the hash is only randomized at build time.
---
backport @10366, @10367 and @10402 to 3.6
Add seed to hash of numeric keyed properties.
Minor cleanups of numeric seeded hashing patch.
Split NumberDictionary into a randomly seeded and an unseeded version.
We don't want to randomize the stub cache.
Review URL: http://codereview.chromium.org/9190001/
Passing a non-buffer or non-string argument to Socket.prototype.write triggered
an assert:
Assertion failed: (Buffer::HasInstance(args[0])), function Write,
file ../src/stream_wrap.cc, line 289.
Fixes#2532.
* Added Docs button and `button` class.
* Refactored download button style into `.button`
* Applied color overrides for download/docs buttons.
* Pointed docs link to latest available docs.
`punycode` is a third party code which generates a lot of lint errors.
Upstream was contacted in order to fix it in bestiejs/punycode.js#6, but
request was denied.
Therefore, it's reasonable to exclude this file from linting process.
Ref #2456.
* Add assert to prevent parallel writes
* Embed request object instead of using new/delete
* Remove unnecessary WorkReqWrap in favor of uv_work_t
* Use container_of instead of req->data
Along with 2d8af39acc and
0ad2717fd8, this should Fix#2504.
The process handle is uninitialized when uv_spawn() fails so don't export the
handle to JS land when that happens. Attempts to close the uninitialized handle
resulted in segmentation faults and memory corruption.
Fixes#2481.
Speeds up the benchmark below by about 680% (0.5s versus 3.4s on my Core 2 Duo).
var crypto = require('crypto');
var hash = crypto.createHash('sha1');
var data = new Buffer(1024);
for (var i = 0; i < 128 * 1024; ++i) hash.update(data);
Fixes#2494.