Fix typo in property hashmap define (#4664)
Fixes jerryscript-project/jerryscript#4648 JerryScript-DCO-1.0-Signed-off-by: Jiawen Geng technicalcute@gmail.com
This commit is contained in:
@@ -445,7 +445,7 @@ ecma_create_property (ecma_object_t *object_p, /**< the object */
|
||||
ecma_property_header_t *first_property_p = ECMA_GET_NON_NULL_POINTER (ecma_property_header_t,
|
||||
*property_list_head_p);
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
bool has_hashmap = false;
|
||||
|
||||
if (first_property_p->types[0] == ECMA_PROPERTY_TYPE_HASHMAP)
|
||||
@@ -455,7 +455,7 @@ ecma_create_property (ecma_object_t *object_p, /**< the object */
|
||||
*property_list_head_p);
|
||||
has_hashmap = true;
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
|
||||
JERRY_ASSERT (ECMA_PROPERTY_IS_PROPERTY_PAIR (first_property_p));
|
||||
|
||||
@@ -479,7 +479,7 @@ ecma_create_property (ecma_object_t *object_p, /**< the object */
|
||||
|
||||
first_property_pair_p->values[0] = value;
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
/* The property must be fully initialized before ecma_property_hashmap_insert
|
||||
* is called, because the insert operation may reallocate the hashmap, and
|
||||
* that triggers garbage collection which scans all properties of all objects.
|
||||
@@ -492,7 +492,7 @@ ecma_create_property (ecma_object_t *object_p, /**< the object */
|
||||
first_property_pair_p,
|
||||
0);
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
|
||||
return first_property_pair_p->values + 0;
|
||||
}
|
||||
@@ -504,7 +504,7 @@ ecma_create_property (ecma_object_t *object_p, /**< the object */
|
||||
/* Need to query property_list_head_p again and recheck the existennce
|
||||
* of property hasmap, because ecma_alloc_property_pair may delete them. */
|
||||
property_list_head_p = &object_p->u1.property_list_cp;
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
bool has_hashmap = false;
|
||||
|
||||
if (*property_list_head_p != ECMA_NULL_POINTER)
|
||||
@@ -518,7 +518,7 @@ ecma_create_property (ecma_object_t *object_p, /**< the object */
|
||||
has_hashmap = true;
|
||||
}
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
|
||||
/* Just copy the previous value (no need to decompress, compress). */
|
||||
first_property_pair_p->header.next_property_cp = *property_list_head_p;
|
||||
@@ -544,7 +544,7 @@ ecma_create_property (ecma_object_t *object_p, /**< the object */
|
||||
|
||||
first_property_pair_p->values[1] = value;
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
/* See the comment before the other ecma_property_hashmap_insert above. */
|
||||
|
||||
if (has_hashmap)
|
||||
@@ -554,7 +554,7 @@ ecma_create_property (ecma_object_t *object_p, /**< the object */
|
||||
first_property_pair_p,
|
||||
1);
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
|
||||
return first_property_pair_p->values + 1;
|
||||
} /* ecma_create_property */
|
||||
@@ -701,7 +701,7 @@ ecma_find_named_property (ecma_object_t *obj_p, /**< object to find property in
|
||||
|
||||
jmem_cpointer_t prop_iter_cp = obj_p->u1.property_list_cp;
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
if (prop_iter_cp != JMEM_CP_NULL)
|
||||
{
|
||||
ecma_property_header_t *prop_iter_p = ECMA_GET_NON_NULL_POINTER (ecma_property_header_t,
|
||||
@@ -722,11 +722,11 @@ ecma_find_named_property (ecma_object_t *obj_p, /**< object to find property in
|
||||
return property_p;
|
||||
}
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
uint32_t steps = 0;
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
jmem_cpointer_t property_name_cp = ECMA_NULL_POINTER;
|
||||
|
||||
if (ECMA_IS_DIRECT_STRING (name_p))
|
||||
@@ -763,9 +763,9 @@ ecma_find_named_property (ecma_object_t *obj_p, /**< object to find property in
|
||||
break;
|
||||
}
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
steps++;
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
prop_iter_cp = prop_iter_p->next_property_cp;
|
||||
}
|
||||
}
|
||||
@@ -804,19 +804,19 @@ ecma_find_named_property (ecma_object_t *obj_p, /**< object to find property in
|
||||
}
|
||||
}
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
steps++;
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
prop_iter_cp = prop_iter_p->next_property_cp;
|
||||
}
|
||||
}
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
if (steps >= (ECMA_PROPERTY_HASMAP_MINIMUM_SIZE / 2))
|
||||
{
|
||||
ecma_property_hashmap_create (obj_p);
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
|
||||
#if JERRY_LCACHE
|
||||
if (property_p != NULL
|
||||
@@ -867,7 +867,7 @@ ecma_delete_property (ecma_object_t *object_p, /**< object */
|
||||
|
||||
ecma_property_header_t *prev_prop_p = NULL;
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
ecma_property_hashmap_delete_status hashmap_status = ECMA_PROPERTY_HASHMAP_DELETE_NO_HASHMAP;
|
||||
|
||||
if (cur_prop_cp != JMEM_CP_NULL)
|
||||
@@ -882,7 +882,7 @@ ecma_delete_property (ecma_object_t *object_p, /**< object */
|
||||
hashmap_status = ECMA_PROPERTY_HASHMAP_DELETE_HAS_HASHMAP;
|
||||
}
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
|
||||
while (cur_prop_cp != JMEM_CP_NULL)
|
||||
{
|
||||
@@ -899,14 +899,14 @@ ecma_delete_property (ecma_object_t *object_p, /**< object */
|
||||
{
|
||||
JERRY_ASSERT (ECMA_PROPERTY_IS_NAMED_PROPERTY (cur_prop_p->types[i]));
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
if (hashmap_status == ECMA_PROPERTY_HASHMAP_DELETE_HAS_HASHMAP)
|
||||
{
|
||||
hashmap_status = ecma_property_hashmap_delete (object_p,
|
||||
prop_pair_p->names_cp[i],
|
||||
cur_prop_p->types + i);
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
|
||||
ecma_gc_free_property (object_p, prop_pair_p, i);
|
||||
cur_prop_p->types[i] = ECMA_PROPERTY_TYPE_DELETED;
|
||||
@@ -916,14 +916,14 @@ ecma_delete_property (ecma_object_t *object_p, /**< object */
|
||||
|
||||
if (cur_prop_p->types[1 - i] != ECMA_PROPERTY_TYPE_DELETED)
|
||||
{
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
/* The other property is still valid. */
|
||||
if (hashmap_status == ECMA_PROPERTY_HASHMAP_DELETE_RECREATE_HASHMAP)
|
||||
{
|
||||
ecma_property_hashmap_free (object_p);
|
||||
ecma_property_hashmap_create (object_p);
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -940,13 +940,13 @@ ecma_delete_property (ecma_object_t *object_p, /**< object */
|
||||
|
||||
ecma_dealloc_property_pair ((ecma_property_pair_t *) cur_prop_p);
|
||||
|
||||
#if JERRY_PROPRETY_HASHMAP
|
||||
#if JERRY_PROPERTY_HASHMAP
|
||||
if (hashmap_status == ECMA_PROPERTY_HASHMAP_DELETE_RECREATE_HASHMAP)
|
||||
{
|
||||
ecma_property_hashmap_free (object_p);
|
||||
ecma_property_hashmap_create (object_p);
|
||||
}
|
||||
#endif /* JERRY_PROPRETY_HASHMAP */
|
||||
#endif /* JERRY_PROPERTY_HASHMAP */
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user