diff options
author | Anatoli Papirovski <apapirovski@mac.com> | 2019-04-22 12:09:56 -0700 |
---|---|---|
committer | Daniel Bevenius <daniel.bevenius@gmail.com> | 2019-04-30 08:36:55 +0200 |
commit | f4f937b296f62c11dfbd3a8f92abac81049b629e (patch) | |
tree | f1622dcc24185286d011a94944a2cb569f88716e /lib | |
parent | d33fddb7f43fffedb4f33f62e3d7b2af8a40f60b (diff) | |
download | android-node-v8-f4f937b296f62c11dfbd3a8f92abac81049b629e.tar.gz android-node-v8-f4f937b296f62c11dfbd3a8f92abac81049b629e.tar.bz2 android-node-v8-f4f937b296f62c11dfbd3a8f92abac81049b629e.zip |
lib: remove Reflect.apply where appropriate
Using Reflect.apply where the callback context does not need
to change is unnecessary and less performant.
PR-URL: https://github.com/nodejs/node/pull/27349
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/fs.js | 6 | ||||
-rw-r--r-- | lib/internal/async_hooks.js | 6 | ||||
-rw-r--r-- | lib/internal/process/task_queues.js | 4 | ||||
-rw-r--r-- | lib/internal/timers.js | 6 |
4 files changed, 10 insertions, 12 deletions
@@ -24,7 +24,7 @@ 'use strict'; -const { Math, Object, Reflect } = primordials; +const { Math, Object } = primordials; const { fs: constants } = internalBinding('constants'); const { @@ -133,9 +133,7 @@ function makeCallback(cb) { throw new ERR_INVALID_CALLBACK(cb); } - return (...args) => { - return Reflect.apply(cb, undefined, args); - }; + return (...args) => cb(...args); } // Special case of `makeCallback()` that is specific to async `*stat()` calls as diff --git a/lib/internal/async_hooks.js b/lib/internal/async_hooks.js index cba8d15a6c..64f5cb2462 100644 --- a/lib/internal/async_hooks.js +++ b/lib/internal/async_hooks.js @@ -1,6 +1,6 @@ 'use strict'; -const { FunctionPrototype, Object, Reflect } = primordials; +const { FunctionPrototype, Object } = primordials; const { ERR_ASYNC_TYPE, @@ -278,14 +278,14 @@ function clearDefaultTriggerAsyncId() { function defaultTriggerAsyncIdScope(triggerAsyncId, block, ...args) { if (triggerAsyncId === undefined) - return Reflect.apply(block, null, args); + return block(...args); // CHECK(Number.isSafeInteger(triggerAsyncId)) // CHECK(triggerAsyncId > 0) const oldDefaultTriggerAsyncId = async_id_fields[kDefaultTriggerAsyncId]; async_id_fields[kDefaultTriggerAsyncId] = triggerAsyncId; try { - return Reflect.apply(block, null, args); + return block(...args); } finally { async_id_fields[kDefaultTriggerAsyncId] = oldDefaultTriggerAsyncId; } diff --git a/lib/internal/process/task_queues.js b/lib/internal/process/task_queues.js index 28843d3fb1..5148628457 100644 --- a/lib/internal/process/task_queues.js +++ b/lib/internal/process/task_queues.js @@ -1,6 +1,6 @@ 'use strict'; -const { FunctionPrototype, Reflect } = primordials; +const { FunctionPrototype } = primordials; const { // For easy access to the nextTick state in the C++ land, @@ -81,7 +81,7 @@ function processTicksAndRejections() { if (tock.args === undefined) callback(); else - Reflect.apply(callback, undefined, tock.args); + callback(...tock.args); emitAfter(asyncId); } diff --git a/lib/internal/timers.js b/lib/internal/timers.js index 566d7df036..8ba7923e57 100644 --- a/lib/internal/timers.js +++ b/lib/internal/timers.js @@ -72,7 +72,7 @@ // timers within (or creation of a new list). However, these operations combined // have shown to be trivial in comparison to other timers architectures. -const { Math, Object, Reflect } = primordials; +const { Math, Object } = primordials; const { scheduleTimer, @@ -438,7 +438,7 @@ function getTimerCallbacks(runNextTicks) { if (!argv) immediate._onImmediate(); else - Reflect.apply(immediate._onImmediate, immediate, argv); + immediate._onImmediate(...argv); } finally { immediate._onImmediate = null; @@ -530,7 +530,7 @@ function getTimerCallbacks(runNextTicks) { if (args === undefined) timer._onTimeout(); else - Reflect.apply(timer._onTimeout, timer, args); + timer._onTimeout(...args); } finally { if (timer._repeat && timer._idleTimeout !== -1) { timer._idleTimeout = timer._repeat; |