Implement WeakRef Object (#4546)

Related test262 test-cases has been removed from skip list.
Execpt two test-case since they need other feature to work (Finalization registry and async GC)

JerryScript-DCO-1.0-Signed-off-by: Bence Gabor Kis kisbg@inf.u-szeged.hu
This commit is contained in:
kisbg
2021-03-01 12:46:54 +00:00
committed by GitHub
parent 9556701742
commit 129ca4946c
24 changed files with 500 additions and 108 deletions
+9
View File
@@ -123,6 +123,10 @@
# define JERRY_BUILTIN_WEAKMAP JERRY_ESNEXT
#endif /* !defined (JERRY_BUILTIN_WEAKMAP) */
#ifndef JERRY_BUILTIN_WEAKREF
# define JERRY_BUILTIN_WEAKREF JERRY_ESNEXT
#endif /* !defined (JERRY_BUILTIN_WEAKREF) */
#ifndef JERRY_BUILTIN_WEAKSET
# define JERRY_BUILTIN_WEAKSET JERRY_ESNEXT
#endif /* !defined (JERRY_BUILTIN_WEAKSET) */
@@ -568,6 +572,10 @@
|| ((JERRY_BUILTIN_WEAKMAP != 0) && (JERRY_BUILTIN_WEAKMAP != 1))
# error "Invalid value for JERRY_BUILTIN_WEAKMAP macro."
#endif
#if !defined (JERRY_BUILTIN_WEAKREF) \
|| ((JERRY_BUILTIN_WEAKREF != 0) && (JERRY_BUILTIN_WEAKREF != 1))
# error "Invalid value for JERRY_BUILTIN_WEAKREF macro."
#endif
#if !defined (JERRY_BUILTIN_WEAKSET) \
|| ((JERRY_BUILTIN_WEAKSET != 0) && (JERRY_BUILTIN_WEAKSET != 1))
# error "Invalid value for JERRY_BUILTIN_WEAKSET macro."
@@ -597,6 +605,7 @@
|| (JERRY_BUILTIN_MAP == 1) \
|| (JERRY_BUILTIN_SET == 1) \
|| (JERRY_BUILTIN_WEAKMAP == 1) \
|| (JERRY_BUILTIN_WEAKREF == 1) \
|| (JERRY_BUILTIN_WEAKSET == 1) \
|| (JERRY_BUILTIN_PROMISE == 1) \
|| (JERRY_BUILTIN_PROXY == 1) \