@@ -2053,8 +2053,6 @@ ecma_op_object_get_property_names (ecma_object_t *obj_p, /**< object */
2053
2053
ecma_collection_t * ret_p = ecma_new_collection ();
2054
2054
ecma_collection_t * skipped_non_enumerable_p = ecma_new_collection ();
2055
2055
2056
- const ecma_object_type_t type = ecma_get_object_type (obj_p );
2057
- const bool obj_is_builtin = ecma_get_object_is_builtin (obj_p );
2058
2056
const bool is_enumerable_only = (opts & ECMA_LIST_ENUMERABLE ) != 0 ;
2059
2057
const bool is_array_indices_only = (opts & ECMA_LIST_ARRAY_INDICES ) != 0 ;
2060
2058
const bool is_with_prototype_chain = (opts & ECMA_LIST_PROTOTYPE ) != 0 ;
@@ -2069,10 +2067,10 @@ ecma_op_object_get_property_names (ecma_object_t *obj_p, /**< object */
2069
2067
2070
2068
memset (names_hashes_bitmap , 0 , names_hashes_bitmap_size * sizeof (names_hashes_bitmap [0 ]));
2071
2069
2072
- ecma_object_t * prototype_chain_iter_p = obj_p ;
2073
-
2074
2070
while (true)
2075
2071
{
2072
+ const ecma_object_type_t type = ecma_get_object_type (obj_p );
2073
+ const bool obj_is_builtin = ecma_get_object_is_builtin (obj_p );
2076
2074
ecma_length_t string_named_properties_count = 0 ;
2077
2075
ecma_length_t array_index_named_properties_count = 0 ;
2078
2076
#if ENABLED (JERRY_ES2015 )
@@ -2224,14 +2222,14 @@ ecma_op_object_get_property_names (ecma_object_t *obj_p, /**< object */
2224
2222
}
2225
2223
}
2226
2224
2227
- jmem_cpointer_t prop_iter_cp = prototype_chain_iter_p -> u1 .property_list_cp ;
2225
+ jmem_cpointer_t prop_iter_cp = obj_p -> u1 .property_list_cp ;
2228
2226
2229
- if (ecma_op_object_is_fast_array (prototype_chain_iter_p ) && prop_iter_cp != JMEM_CP_NULL )
2227
+ if (ecma_op_object_is_fast_array (obj_p ) && prop_iter_cp != JMEM_CP_NULL )
2230
2228
{
2231
- ecma_extended_object_t * ext_obj_p = (ecma_extended_object_t * ) prototype_chain_iter_p ;
2229
+ ecma_extended_object_t * ext_obj_p = (ecma_extended_object_t * ) obj_p ;
2232
2230
2233
2231
uint32_t length = ext_obj_p -> u .array .length ;
2234
- array_index_named_properties_count = length - ecma_fast_array_get_hole_count (prototype_chain_iter_p );
2232
+ array_index_named_properties_count = length - ecma_fast_array_get_hole_count (obj_p );
2235
2233
2236
2234
ecma_value_t * values_p = ECMA_GET_NON_NULL_POINTER (ecma_value_t , prop_iter_cp );
2237
2235
@@ -2563,13 +2561,12 @@ ecma_op_object_get_property_names (ecma_object_t *obj_p, /**< object */
2563
2561
2564
2562
JMEM_FINALIZE_LOCAL_ARRAY (names_p );
2565
2563
2566
- if (!is_with_prototype_chain || prototype_chain_iter_p -> u2 .prototype_cp == JMEM_CP_NULL )
2564
+ if (!is_with_prototype_chain || obj_p -> u2 .prototype_cp == JMEM_CP_NULL )
2567
2565
{
2568
2566
break ;
2569
2567
}
2570
2568
2571
- prototype_chain_iter_p = ECMA_GET_NON_NULL_POINTER (ecma_object_t ,
2572
- prototype_chain_iter_p -> u2 .prototype_cp );
2569
+ obj_p = ECMA_GET_NON_NULL_POINTER (ecma_object_t , obj_p -> u2 .prototype_cp );
2573
2570
}
2574
2571
2575
2572
ecma_collection_free (skipped_non_enumerable_p );
0 commit comments