Title: [258865] trunk/Source/_javascript_Core
Revision
258865
Author
[email protected]
Date
2020-03-23 12:05:12 -0700 (Mon, 23 Mar 2020)

Log Message

Unreviewed, address Yusuke's feedback on r258801.

* builtins/RegExpPrototype.js:
(globalPrivate.hasObservableSideEffectsForRegExpSplit):
* bytecompiler/NodesCodegen.cpp:
(JSC::BytecodeIntrinsicNode::emit_intrinsic_tryGetById):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (258864 => 258865)


--- trunk/Source/_javascript_Core/ChangeLog	2020-03-23 18:49:09 UTC (rev 258864)
+++ trunk/Source/_javascript_Core/ChangeLog	2020-03-23 19:05:12 UTC (rev 258865)
@@ -1,5 +1,14 @@
 2020-03-23  Ross Kirsling  <[email protected]>
 
+        Unreviewed, address Yusuke's feedback on r258801.
+
+        * builtins/RegExpPrototype.js:
+        (globalPrivate.hasObservableSideEffectsForRegExpSplit):
+        * bytecompiler/NodesCodegen.cpp:
+        (JSC::BytecodeIntrinsicNode::emit_intrinsic_tryGetById):
+
+2020-03-23  Ross Kirsling  <[email protected]>
+
         Catch parameters must not be lexically redeclared
         https://bugs.webkit.org/show_bug.cgi?id=208976
 

Modified: trunk/Source/_javascript_Core/builtins/RegExpPrototype.js (258864 => 258865)


--- trunk/Source/_javascript_Core/builtins/RegExpPrototype.js	2020-03-23 18:49:09 UTC (rev 258864)
+++ trunk/Source/_javascript_Core/builtins/RegExpPrototype.js	2020-03-23 19:05:12 UTC (rev 258865)
@@ -463,7 +463,8 @@
     var regexpSource = @tryGetById(regexp, "source");
     if (regexpSource !== @regExpProtoSourceGetter)
         return true;
-    if (regexp.@@match !== @regExpPrototypeSymbolMatch)
+    var regexpSymbolMatch = @tryGetById(regexp, @@match);
+    if (regexpSymbolMatch !== @regExpPrototypeSymbolMatch)
         return true;
 
     return typeof regexp.lastIndex !== "number";

Modified: trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp (258864 => 258865)


--- trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp	2020-03-23 18:49:09 UTC (rev 258864)
+++ trunk/Source/_javascript_Core/bytecompiler/NodesCodegen.cpp	2020-03-23 19:05:12 UTC (rev 258865)
@@ -1422,9 +1422,8 @@
     RefPtr<RegisterID> base = generator.emitNode(node);
     node = node->m_next;
 
-    // Since this is a builtin we expect the creator to use a string literal as the second argument.
-    ASSERT(node->m_expr->isString());
-    const Identifier& ident = static_cast<StringNode*>(node->m_expr)->value();
+    ASSERT(node->m_expr->isString() || node->m_expr->isResolveNode());
+    const Identifier& ident = node->m_expr->isString() ? static_cast<StringNode*>(node->m_expr)->value() : static_cast<ResolveNode*>(node->m_expr)->identifier();
     ASSERT(!node->m_next);
 
     RefPtr<RegisterID> finalDest = generator.finalDestination(dst);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to