From 20ee1ece0167bd2b110367fe699948dfa3648803 Mon Sep 17 00:00:00 2001 From: FranklinDM Date: Fri, 20 May 2022 16:00:42 +0800 Subject: Issue #1894 - Part 5: Implement bytecode for nullish coalescing Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141 --- js/src/frontend/BytecodeEmitter.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/js/src/frontend/BytecodeEmitter.cpp b/js/src/frontend/BytecodeEmitter.cpp index b5a96f32d9..e21ab72407 100644 --- a/js/src/frontend/BytecodeEmitter.cpp +++ b/js/src/frontend/BytecodeEmitter.cpp @@ -3334,6 +3334,7 @@ BytecodeEmitter::checkSideEffects(ParseNode* pn, bool* answer) case PNK_CATCHLIST: // Strict equality operations and logical operators are well-behaved and // perform no conversions. + case PNK_COALESCE: case PNK_OR: case PNK_AND: case PNK_STRICTEQ: @@ -11355,6 +11356,7 @@ BytecodeEmitter::emitTree(ParseNode* pn, ValueUsage valueUsage /* = ValueUsage:: return false; break; + case PNK_COALESCE: case PNK_OR: case PNK_AND: if (!emitLogical(pn)) -- cgit v1.2.3