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
+1
View File
@@ -67,6 +67,7 @@ typedef enum
* data properties */
LIT_INTERNAL_MAGIC_STRING_ENVIRONMENT_RECORD, /**< dynamic environment record needed by class constructors */
LIT_INTERNAL_MAGIC_STRING_CLASS_FIELD_COMPUTED, /**< computed class field name list */
LIT_INTERNAL_MAGIC_STRING_CONTAINER_WEAK_REFS, /**< Weak references to the current container object */
LIT_INTERNAL_MAGIC_STRING_WEAK_REFS, /**< Weak references to the current object */
LIT_MAGIC_STRING__COUNT /**< number of magic strings */
} lit_magic_string_id_t;
+7
View File
@@ -248,6 +248,9 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CLEAR, "clear")
#if JERRY_BUILTIN_MATH && JERRY_ESNEXT
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CLZ32, "clz32")
#endif
#if JERRY_BUILTIN_WEAKREF
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DEREF, "deref")
#endif
#if JERRY_BUILTIN_ARRAY \
|| JERRY_BUILTIN_TYPEDARRAY
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EVERY, "every")
@@ -457,6 +460,10 @@ LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYMBOL_DOT_UL, "Symbol.")
|| JERRY_BUILTIN_WEAKMAP
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_WEAKMAP_UL, "WeakMap")
#endif
#if JERRY_BUILTIN_WEAKMAP || JERRY_BUILTIN_WEAKSET || JERRY_BUILTIN_WEAKREF \
|| JERRY_BUILTIN_WEAKREF
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_WEAKREF_UL, "WeakRef")
#endif
#if JERRY_BUILTIN_CONTAINER \
|| JERRY_BUILTIN_WEAKSET
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_WEAKSET_UL, "WeakSet")
+2
View File
@@ -111,6 +111,7 @@ LIT_MAGIC_STRING_ATANH = "atanh"
LIT_MAGIC_STRING_CATCH = "catch"
LIT_MAGIC_STRING_CLEAR = "clear"
LIT_MAGIC_STRING_CLZ32 = "clz32"
LIT_MAGIC_STRING_DEREF = "deref"
LIT_MAGIC_STRING_EVERY = "every"
LIT_MAGIC_STRING_EXPM1 = "expm1"
LIT_MAGIC_STRING_FALSE = "false"
@@ -215,6 +216,7 @@ LIT_MAGIC_STRING_UNICODE = "unicode"
LIT_MAGIC_STRING_UNSHIFT = "unshift"
LIT_MAGIC_STRING_VALUE_OF_UL = "valueOf"
LIT_MAGIC_STRING_WEAKMAP_UL = "WeakMap"
LIT_MAGIC_STRING_WEAKREF_UL = "WeakRef"
LIT_MAGIC_STRING_WEAKSET_UL = "WeakSet"
LIT_MAGIC_STRING_EPSILON_U = "EPSILON"
LIT_MAGIC_STRING_DATAVIEW_UL = "DataView"