Add iterator close support for array destructuring (#3337)

JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik frobert@inf.u-szeged.hu
This commit is contained in:
Robert Fancsik
2019-11-21 12:55:52 +01:00
committed by Zoltan Herczeg
parent 6b43ef8605
commit 2ddf134cef
13 changed files with 232 additions and 11 deletions
+2
View File
@@ -644,6 +644,8 @@
VM_OC_ITERATOR_STEP) \
CBC_OPCODE (CBC_EXT_ITERATOR_STEP_PROP, CBC_NO_FLAG, 1, \
VM_OC_ITERATOR_STEP) \
CBC_OPCODE (CBC_EXT_ITERATOR_CLOSE, CBC_NO_FLAG, -1, \
VM_OC_ITERATOR_CLOSE | VM_OC_GET_STACK) \
CBC_OPCODE (CBC_EXT_REST_INITIALIZER, CBC_NO_FLAG, 1, \
VM_OC_REST_INITIALIZER) \
CBC_OPCODE (CBC_EXT_REST_INITIALIZER_PROP, CBC_NO_FLAG, 1, \
+2 -2
View File
@@ -2491,8 +2491,8 @@ parser_parse_array_initializer (parser_context_t *context_p, /**< context */
}
}
/* pop the iterator */
parser_emit_cbc (context_p, CBC_POP);
/* close the iterator */
parser_emit_cbc_ext (context_p, CBC_EXT_ITERATOR_CLOSE);
parser_pattern_finalize (context_p, flags, &end_pos);
} /* parser_parse_array_initializer */