Speed up promise introspection#3130
Conversation
|
LGTM |
There was a problem hiding this comment.
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
|
Thanks everyone, landed in dbe4844. @targos I broke out the initialization into a separate function. It's kind of against my principles to make changes after a LGTM but well, just this time, because you asked. |
|
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/