Speculatively change iteration protocall to use the same next function
[WebKit-https.git] / Source / JavaScriptCore / ChangeLog
index 9d15871..64deeca 100644 (file)
@@ -1,3 +1,40 @@
+2017-09-22  Keith Miller  <keith_miller@apple.com>
+
+        Speculatively change iteration protocall to use the same next function
+        https://bugs.webkit.org/show_bug.cgi?id=175653
+
+        Reviewed by Saam Barati.
+
+        This patch speculatively makes a change to the iteration protocall to fetch the next
+        property immediately after calling the Symbol.iterator function. This is, in theory,
+        a breaking change, so we will see if this breaks things (most likely it won't as this
+        is a relatively subtle point).
+
+        See: https://github.com/tc39/ecma262/issues/976
+
+        * builtins/IteratorHelpers.js:
+        (performIteration):
+        * bytecompiler/BytecodeGenerator.cpp:
+        (JSC::BytecodeGenerator::emitEnumeration):
+        (JSC::BytecodeGenerator::emitIteratorNext):
+        (JSC::BytecodeGenerator::emitIteratorNextWithValue):
+        (JSC::BytecodeGenerator::emitDelegateYield):
+        * bytecompiler/BytecodeGenerator.h:
+        * bytecompiler/NodesCodegen.cpp:
+        (JSC::ArrayPatternNode::bindValue const):
+        * inspector/JSInjectedScriptHost.cpp:
+        (Inspector::JSInjectedScriptHost::iteratorEntries):
+        * runtime/IteratorOperations.cpp:
+        (JSC::iteratorNext):
+        (JSC::iteratorStep):
+        (JSC::iteratorClose):
+        (JSC::iteratorForIterable):
+        * runtime/IteratorOperations.h:
+        (JSC::forEachInIterable):
+        * runtime/JSGenericTypedArrayViewConstructorInlines.h:
+        (JSC::constructGenericTypedArrayViewFromIterator):
+        (JSC::constructGenericTypedArrayViewWithArguments):
+
 2017-09-22  Fujii Hironori  <Hironori.Fujii@sony.com>
 
         [Win64] Crashes in Yarr JIT compiled code