tls: avoid potentially deoptimizing use of arguments

Replace use of arguments with `...args`

```
 tls/tls-connect.js dur=5 concurrency=1      -9.43 %            0.172136744
 tls/tls-connect.js dur=5 concurrency=10     29.05 %         ** 0.001108115
```

PR-URL: https://github.com/nodejs/node/pull/11357
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
James M Snell 2017-02-13 13:26:42 -08:00
parent e36d0d3974
commit 0000d71dc6

View File

@ -294,9 +294,9 @@ var proxiedMethods = [
// Proxy HandleWrap, PipeWrap and TCPWrap methods // Proxy HandleWrap, PipeWrap and TCPWrap methods
proxiedMethods.forEach(function(name) { proxiedMethods.forEach(function(name) {
tls_wrap.TLSWrap.prototype[name] = function methodProxy() { tls_wrap.TLSWrap.prototype[name] = function methodProxy(...args) {
if (this._parent[name]) if (this._parent[name])
return this._parent[name].apply(this._parent, arguments); return this._parent[name].apply(this._parent, args);
}; };
}); });
@ -986,11 +986,7 @@ function normalizeConnectArgs(listArgs) {
return (cb) ? [options, cb] : [options]; return (cb) ? [options, cb] : [options];
} }
exports.connect = function(/* [port,] [host,] [options,] [cb] */) { exports.connect = function(...args /* [port,] [host,] [options,] [cb] */) {
const argsLen = arguments.length;
var args = new Array(argsLen);
for (var i = 0; i < argsLen; i++)
args[i] = arguments[i];
args = normalizeConnectArgs(args); args = normalizeConnectArgs(args);
var options = args[0]; var options = args[0];
var cb = args[1]; var cb = args[1];