events: return values directly in listeners

Each conditional branch in EventEmitter.prototype.listeners assigns
its return value to a variable ret which is returned at the end.
Instead just return from within each branch. This is both clearer
and more performant.

events/ee-listeners.js n=5000000      3.65 %        *** 3.359171e-10

PR-URL: https://github.com/nodejs/node/pull/16212
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Refael Ackermann <refack@gmail.com>
This commit is contained in:
Anatoli Papirovski 2017-10-14 21:40:51 -04:00
parent c8d4ff1d52
commit fd166a8759
No known key found for this signature in database
GPG Key ID: 614E2E1ABEB4B2C0

View File

@ -481,23 +481,19 @@ EventEmitter.prototype.removeAllListeners =
};
EventEmitter.prototype.listeners = function listeners(type) {
var evlistener;
var ret;
var events = this._events;
const events = this._events;
if (events === undefined)
ret = [];
else {
evlistener = events[type];
if (evlistener === undefined)
ret = [];
else if (typeof evlistener === 'function')
ret = [evlistener.listener || evlistener];
else
ret = unwrapListeners(evlistener);
}
return [];
return ret;
const evlistener = events[type];
if (evlistener === undefined)
return [];
if (typeof evlistener === 'function')
return [evlistener.listener || evlistener];
return unwrapListeners(evlistener);
};
EventEmitter.listenerCount = function(emitter, type) {