diff options
author | Ruben Bridgewater <ruben@bridgewater.de> | 2019-03-20 17:48:59 +0300 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2019-03-23 04:55:57 +0300 |
commit | afce91219359654b44df29e6ec1b730e2a73a919 (patch) | |
tree | 22d8fe9d1204537aac7663f3e672fd20c655dc23 /lib/internal/assert | |
parent | f0f26cedccdb8e5d891bff2949651ea8c3a839c1 (diff) |
assert: improve performance to instantiate errors
This improves the performance for AssertionError by deactivating
duplicated stack frame creation.
PR-URL: https://github.com/nodejs/node/pull/26738
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michaƫl Zasso <targos@protonmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Diffstat (limited to 'lib/internal/assert')
-rw-r--r-- | lib/internal/assert/assertion_error.js | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/internal/assert/assertion_error.js b/lib/internal/assert/assertion_error.js index c8edf13eca8..7c9bace3781 100644 --- a/lib/internal/assert/assertion_error.js +++ b/lib/internal/assert/assertion_error.js @@ -300,6 +300,9 @@ class AssertionError extends Error { stackStartFn } = options; + const limit = Error.stackTraceLimit; + Error.stackTraceLimit = 0; + if (message != null) { super(String(message)); } else { @@ -387,6 +390,8 @@ class AssertionError extends Error { } } + Error.stackTraceLimit = limit; + this.generatedMessage = !message; Object.defineProperty(this, 'name', { value: 'AssertionError [ERR_ASSERTION]', |