Optimize typed array access (#4806)

Use uint32 indexes instead of double indexes.

JerryScript-DCO-1.0-Signed-off-by: Zoltan Herczeg zherczeg.u-szeged@partner.samsung.com
This commit is contained in:
Zoltan Herczeg
2021-11-02 11:07:56 +01:00
committed by GitHub
parent 960b99766c
commit 89e367bbfd
10 changed files with 203 additions and 190 deletions
@@ -102,8 +102,10 @@ ecma_op_general_object_delete (ecma_object_t *obj_p, /**< the object */
ECMA_PROPERTY_GET_NO_OPTIONS);
/* 2. */
if (property == ECMA_PROPERTY_TYPE_NOT_FOUND || property == ECMA_PROPERTY_TYPE_NOT_FOUND_AND_STOP)
if (!ECMA_PROPERTY_IS_FOUND (property))
{
JERRY_ASSERT (property == ECMA_PROPERTY_TYPE_NOT_FOUND
|| property == ECMA_PROPERTY_TYPE_NOT_FOUND_AND_STOP);
return ECMA_VALUE_TRUE;
}
@@ -419,8 +421,11 @@ ecma_op_general_object_define_own_property (ecma_object_t *object_p, /**< the ob
&ext_property_ref.property_ref,
ECMA_PROPERTY_GET_VALUE | ECMA_PROPERTY_GET_EXT_REFERENCE);
if (current_prop == ECMA_PROPERTY_TYPE_NOT_FOUND || current_prop == ECMA_PROPERTY_TYPE_NOT_FOUND_AND_STOP)
if (!ECMA_PROPERTY_IS_FOUND (current_prop))
{
JERRY_ASSERT (current_prop == ECMA_PROPERTY_TYPE_NOT_FOUND
|| current_prop == ECMA_PROPERTY_TYPE_NOT_FOUND_AND_STOP);
/* 3. */
if (!ecma_op_ordinary_object_is_extensible (object_p))
{