summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranklinDM <mrmineshafter17@gmail.com>2022-05-20 16:00:42 +0800
committerFranklinDM <mrmineshafter17@gmail.com>2022-05-21 01:02:23 +0800
commit20ee1ece0167bd2b110367fe699948dfa3648803 (patch)
tree446232849ea5f9bb5416c4450ba714d5a492c736
parentbbe40dab58fa3e6ee395974da641581e08958de8 (diff)
downloaduxp-20ee1ece0167bd2b110367fe699948dfa3648803.tar.gz
Issue #1894 - Part 5: Implement bytecode for nullish coalescing
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
-rw-r--r--js/src/frontend/BytecodeEmitter.cpp2
1 files changed, 2 insertions, 0 deletions
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))