-
Notifications
You must be signed in to change notification settings - Fork 30.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speed up promise introspection #3130
Speed up promise introspection #3130
Conversation
LGTM |
const result = runInDebugContext('[Debug, ObjectIsPromise]'); | ||
Debug = result[0]; | ||
ObjectIsPromise = result[1]; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To prepare the ground for the use of MakeMirror
in #3119, may I suggest to move this to a separate function ? setupDebugObjects()
for example.
LGTM |
Use V8's builtin ObjectIsPromise() to check that the value is a promise before creating the promise mirror. Reduces garbage collector strain in the (common) non-promise case, which is beneficial when inspecting deep object graphs. PR-URL: nodejs#3130 Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Backport f78215962bf5de9d47c022e7baa3952d0bf6d17f from V8's upstream to speed up promise introspection. Original commit message: Remove obsolete try/catch from ObjectIsPromise(). Review URL: https://codereview.chromium.org/1367123003 Cr-Commit-Position: refs/heads/master@{nodejs#30966} PR-URL: nodejs#3130 Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
076dd53
to
dbe4844
Compare
Ben, can you please link the until commit as well? |
The what now? You mean the original commit? That's bnoordhuis/node@bdfee10 but that's dead now. EDIT: bnoordhuis/io.js@bdfee10 works though. |
Sorry I meant the util changes. Damn autocorrect :D |
Ah, sure. That's 3f62c40...dbe4844. |
Thanks :-) |
Use V8's builtin ObjectIsPromise() to check that the value is a promise before creating the promise mirror. Reduces garbage collector strain in the (common) non-promise case, which is beneficial when inspecting deep object graphs. PR-URL: #3130 Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
Backport f78215962bf5de9d47c022e7baa3952d0bf6d17f from V8's upstream to speed up promise introspection. Original commit message: Remove obsolete try/catch from ObjectIsPromise(). Review URL: https://codereview.chromium.org/1367123003 Cr-Commit-Position: refs/heads/master@{#30966} PR-URL: #3130 Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
is this being upstreamed? do we have an external link or something? |
derp, I see it in the commit msgs now f782159 |
Notable changes * http: - Fix out-of-order 'finish' event bug in pipelining that can abort execution, fixes DoS vulnerability CVE-2015-7384 (Fedor Indutny) #3128 - Account for pending response data instead of just the data on the current request to decide whether pause the socket or not (Fedor Indutny) #3128 * libuv: Upgraded from v1.7.4 to v1.7.5, see release notes for details (Saúl Ibarra Corretgé) #3010 - A better rwlock implementation for all Windows versions - Improved AIX support * v8: - Upgraded from v4.5.103.33 to v4.5.103.35 (Ali Ijaz Sheikh) #3117 - Backported f782159 from v8's upstream to help speed up Promise introspection (Ben Noordhuis) #3130 - Backported c281c15 from v8's upstream to add JSTypedArray length in post-mortem metadata (Julien Gilli) #3031 PR-URL: #3128
Notable changes * http: - Fix out-of-order 'finish' event bug in pipelining that can abort execution, fixes DoS vulnerability CVE-2015-7384 (Fedor Indutny) #3128 - Account for pending response data instead of just the data on the current request to decide whether pause the socket or not (Fedor Indutny) #3128 * libuv: Upgraded from v1.7.4 to v1.7.5, see release notes for details (Saúl Ibarra Corretgé) #3010 - A better rwlock implementation for all Windows versions - Improved AIX support * v8: - Upgraded from v4.5.103.33 to v4.5.103.35 (Ali Ijaz Sheikh) #3117 - Backported f782159 from v8's upstream to help speed up Promise introspection (Ben Noordhuis) #3130 - Backported c281c15 from v8's upstream to add JSTypedArray length in post-mortem metadata (Julien Gilli) #3031 PR-URL: #3128
R=@vkurchatkin | @thefourtheye | @targos?
#3107 for background. I realized we don't have to wait for a V8 upgrade.
CI: https://ci.nodejs.org/job/node-test-pull-request/399/