Title: [259841] trunk/Source/_javascript_Core
Revision
259841
Author
drou...@apple.com
Date
2020-04-09 17:28:11 -0700 (Thu, 09 Apr 2020)

Log Message

Don't emit the rhs twice in `AssignResolveNode`
https://bugs.webkit.org/show_bug.cgi?id=210312

Reviewed by Yusuke Suzuki.

* bytecompiler/NodesCodegen.cpp:
(JSC::AssignResolveNode::emitBytecode):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (259840 => 259841)


--- trunk/Source/_javascript_Core/ChangeLog	2020-04-09 23:58:49 UTC (rev 259840)
+++ trunk/Source/_javascript_Core/ChangeLog	2020-04-10 00:28:11 UTC (rev 259841)
@@ -1,3 +1,13 @@
+2020-04-09  Devin Rousso  <drou...@apple.com>
+
+        Don't emit the rhs twice in `AssignResolveNode`
+        https://bugs.webkit.org/show_bug.cgi?id=210312
+
+        Reviewed by Yusuke Suzuki.
+
+        * bytecompiler/NodesCodegen.cpp:
+        (JSC::AssignResolveNode::emitBytecode):
+
 2020-04-09  Yusuke Suzuki  <ysuz...@apple.com>
 
         [JSC] ModuleEnvironment do not have JSGlobalLexicalEnvironment as its upper scope

Modified: trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp (259840 => 259841)


--- trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp	2020-04-09 23:58:49 UTC (rev 259840)
+++ trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp	2020-04-10 00:28:11 UTC (rev 259841)
@@ -2910,12 +2910,11 @@
         generator.emitTDZCheckIfNecessary(var, nullptr, scope.get());
     if (dst == generator.ignoredResult())
         dst = 0;
-    RefPtr<RegisterID> result = generator.emitNode(dst, m_right);
+    RefPtr<RegisterID> result = generator.emitNode(dst, m_right); // Execute side effects first.
     if (isReadOnly) {
-        RegisterID* result = generator.emitNode(dst, m_right); // Execute side effects first.
         bool threwException = generator.emitReadOnlyExceptionIfNeeded(var);
         if (threwException)
-            return result;
+            return result.get();
     }
     generator.emitExpressionInfo(divot(), divotStart(), divotEnd());
     RegisterID* returnResult = result.get();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to