Implement yield* operator (#3923)

Missing features:
- caching next() method (this also true for normal generators)
- automatic sync to async generator conversion

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2020-06-25 17:11:16 +02:00
committed by GitHub
parent c12c60c550
commit f88489beef
28 changed files with 1258 additions and 111 deletions
+2
View File
@@ -272,6 +272,7 @@ typedef enum
VM_OC_CREATE_GENERATOR, /**< create a generator object */
VM_OC_YIELD, /**< yield operation */
VM_OC_ASYNC_YIELD, /**< async yield operation */
VM_OC_ASYNC_YIELD_ITERATOR, /**< async yield iterator operation */
VM_OC_AWAIT, /**< await operation */
VM_OC_GENERATOR_AWAIT, /**< generator await operation */
VM_OC_EXT_RETURN, /**< return which also clears the stack */
@@ -343,6 +344,7 @@ typedef enum
VM_OC_CREATE_GENERATOR = VM_OC_NONE, /**< create a generator object */
VM_OC_YIELD = VM_OC_NONE, /**< yield operation */
VM_OC_ASYNC_YIELD = VM_OC_NONE, /**< async yield operation */
VM_OC_ASYNC_YIELD_ITERATOR = VM_OC_NONE, /**< async yield iterator operation */
VM_OC_AWAIT = VM_OC_NONE, /**< await operation */
VM_OC_GENERATOR_AWAIT = VM_OC_NONE, /**< generator await operation */
VM_OC_EXT_RETURN = VM_OC_NONE, /**< return which also clears the stack */