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