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: https://github.com/nodejs/node/pull/3130
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
}
-// Wrapper to check whether an object is a Promise. The call may not work
-// if promises are not enabled.
-// TODO(yangguo): remove try-catch once promises are enabled by default.
function ObjectIsPromise(value) {
- try {
- return IS_SPEC_OBJECT(value) &&
- !IS_UNDEFINED(%DebugGetProperty(value, builtins.$promiseStatus));
- } catch (e) {
- return false;
- }
+ return IS_SPEC_OBJECT(value) &&
+ !IS_UNDEFINED(%DebugGetProperty(value, builtins.$promiseStatus));
}