Uh oh!
There was an error while loading. Please reload this page.
perf_hooks: remove useless calls in Histogram - #41579
Conversation
Coverity reported some calls that had no effect, remove them Signed-off-by: Michael Dawson <mdawson@devrus.com>
mhdawson
commented
Jan 18, 2022
I guess this might explain why the call was made ? On OSX: ../src/histogram.cc:162:5: error: ignoring return value of function declared with 'warn_unused_result' attribute [-Werror,-Wunused-result] |
mhdawson
commented
Jan 18, 2022
Not sure why it did not fail locally, as seems to be reported for linux as well. Maybe my local compiler version? |
mhdawson
commented
Jan 18, 2022
I think I understand what is going on here:
Our options would seem to be:
|
mhdawson
commented
Jan 18, 2022
ToLocalChecked will crash if the result is empty so we'd only use that if we want to know that the Set failed versus just ignoring and continuing. |
mhdawson
commented
Jan 18, 2022
No local test failures with ToLocalChecked so I think that means it's not expected that the Set can fail. |
mhdawson
commented
Jan 18, 2022
@jasnell since I think you are the main contributor to this part of the code do you think I should:
Some additional explanation/discussion above. |
RaisinTen
left a comment
There was a problem hiding this comment.
This would crash if an exception is thrown between subsequent V8 calls in any of these binding functions. As a solution, instead of removing the IsEmpty() checks, we should pass on the return value of the Set() call from the lambdas and in
Lines 61 to 70 in 22792c8
while calling fn(), we should check if the returned value is an empty maybe and return early if that's the case.
addaleax
commented
Jan 19, 2022
+1 to what @RaisinTen said. If that's not an option, we should use |
jasnell
commented
Jan 19, 2022
I suggest just using |
mhdawson
commented
Jan 20, 2022
Thanks, I'll look at @RaisinTen's suggestion and if that does not seem practical add the USE() |
mhdawson
commented
Jan 26, 2022
Code higher up looks like getpercentilesBigInt(){if(!isHistogram(this))thrownewERR_INVALID_THIS('Histogram');this[kMap].clear();this[kHandle]?.percentilesBigInt(this[kMap]);returnthis[kMap];} |
mhdawson
commented
Jan 26, 2022
Returning the result of map-Set up to the JavaScript would only let us return undefined/null instead of an empty map, but I think For that reason I think just using |
Signed-off-by: Michael Dawson <mdawson@devrus.com>
richardlau
commented
Jan 26, 2022
Commit message will need updating to reflect the new approach. |
mhdawson
commented
Jan 26, 2022
@RaisinTen pushed update to change to add USE() |
nodejs-github-bot
commented
Jan 27, 2022
Coverity reported some calls that had no effect, remove them Signed-off-by: Michael Dawson <mdawson@devrus.com> PR-URL: #41579 Reviewed-By: Yash Ladha <yash@yashladha.in> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
mhdawson
commented
Jan 28, 2022
Landed in d86dcaa |
Coverity reported some calls that had no effect, remove them Signed-off-by: Michael Dawson <mdawson@devrus.com> PR-URL: #41579 Reviewed-By: Yash Ladha <yash@yashladha.in> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Coverity reported some calls that had no effect, remove them Signed-off-by: Michael Dawson <mdawson@devrus.com> PR-URL: #41579 Reviewed-By: Yash Ladha <yash@yashladha.in> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Coverity reported some calls that had no effect, remove them Signed-off-by: Michael Dawson <mdawson@devrus.com> PR-URL: #41579 Reviewed-By: Yash Ladha <yash@yashladha.in> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Coverity reported some calls that had no effect, remove them Signed-off-by: Michael Dawson <mdawson@devrus.com> PR-URL: #41579 Reviewed-By: Yash Ladha <yash@yashladha.in> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com>
Coverity reported some calls that had no effect,
remove them
Signed-off-by: Michael Dawson mdawson@devrus.com