Renaming ecma_get_object_has_non_instantiated_builtins -> ecma_get_object_is_builtin, ecma_set_object_has_non_instantiated_builtins -> ecma_set_object_is_builtin.
This commit is contained in:
@@ -422,17 +422,17 @@ typedef struct
|
||||
#define ECMA_OBJECT_OBJ_PROTOTYPE_OBJECT_CP_WIDTH (ECMA_POINTER_FIELD_WIDTH)
|
||||
|
||||
/**
|
||||
* Flag indicating whether the object has non-instantiated built-in properties
|
||||
* Flag indicating whether the object is a built-in object
|
||||
*/
|
||||
#define ECMA_OBJECT_OBJ_HAS_NON_INSTANTIATED_BUILT_IN_PROPERTIES_POS (ECMA_OBJECT_OBJ_PROTOTYPE_OBJECT_CP_POS + \
|
||||
ECMA_OBJECT_OBJ_PROTOTYPE_OBJECT_CP_WIDTH)
|
||||
#define ECMA_OBJECT_OBJ_HAS_NON_INSTANTIATED_BUILT_IN_PROPERTIES_WIDTH (1)
|
||||
#define ECMA_OBJECT_OBJ_IS_BUILTIN_POS (ECMA_OBJECT_OBJ_PROTOTYPE_OBJECT_CP_POS + \
|
||||
ECMA_OBJECT_OBJ_PROTOTYPE_OBJECT_CP_WIDTH)
|
||||
#define ECMA_OBJECT_OBJ_IS_BUILTIN_WIDTH (1)
|
||||
|
||||
/**
|
||||
* Size of structure for objects
|
||||
*/
|
||||
#define ECMA_OBJECT_OBJ_TYPE_SIZE (ECMA_OBJECT_OBJ_HAS_NON_INSTANTIATED_BUILT_IN_PROPERTIES_POS + \
|
||||
ECMA_OBJECT_OBJ_HAS_NON_INSTANTIATED_BUILT_IN_PROPERTIES_WIDTH)
|
||||
#define ECMA_OBJECT_OBJ_TYPE_SIZE (ECMA_OBJECT_OBJ_IS_BUILTIN_POS + \
|
||||
ECMA_OBJECT_OBJ_IS_BUILTIN_WIDTH)
|
||||
|
||||
|
||||
/* Lexical environments' only part */
|
||||
|
||||
@@ -68,7 +68,7 @@ ecma_create_object (ecma_object_t *prototype_object_p, /**< pointer to prototybe
|
||||
ECMA_OBJECT_OBJ_PROTOTYPE_OBJECT_CP_POS,
|
||||
ECMA_OBJECT_OBJ_PROTOTYPE_OBJECT_CP_WIDTH);
|
||||
|
||||
ecma_set_object_has_non_instantiated_builtins (object_p, false);
|
||||
ecma_set_object_is_builtin (object_p, false);
|
||||
|
||||
return object_p;
|
||||
} /* ecma_create_object */
|
||||
@@ -257,18 +257,18 @@ ecma_get_object_prototype (ecma_object_t *object_p) /**< object */
|
||||
} /* ecma_get_object_prototype */
|
||||
|
||||
/**
|
||||
* Get object's has-non-instantiated-built-ins flag.
|
||||
* Check if the object is a built-in object
|
||||
*
|
||||
* @return flag's value
|
||||
* @return true / false
|
||||
*/
|
||||
bool
|
||||
ecma_get_object_has_non_instantiated_builtins (ecma_object_t *object_p) /**< object */
|
||||
ecma_get_object_is_builtin (ecma_object_t *object_p) /**< object */
|
||||
{
|
||||
JERRY_ASSERT (object_p != NULL);
|
||||
JERRY_ASSERT (!ecma_is_lexical_environment (object_p));
|
||||
|
||||
const uint32_t offset = ECMA_OBJECT_OBJ_HAS_NON_INSTANTIATED_BUILT_IN_PROPERTIES_POS;
|
||||
const uint32_t width = ECMA_OBJECT_OBJ_HAS_NON_INSTANTIATED_BUILT_IN_PROPERTIES_WIDTH;
|
||||
const uint32_t offset = ECMA_OBJECT_OBJ_IS_BUILTIN_POS;
|
||||
const uint32_t width = ECMA_OBJECT_OBJ_IS_BUILTIN_WIDTH;
|
||||
|
||||
JERRY_ASSERT (sizeof (uintptr_t) * JERRY_BITSINBYTE >= width);
|
||||
|
||||
@@ -277,26 +277,26 @@ ecma_get_object_has_non_instantiated_builtins (ecma_object_t *object_p) /**< obj
|
||||
width);
|
||||
|
||||
return (bool) flag_value;
|
||||
} /* ecma_get_object_has_non_instantiated_builtins */
|
||||
} /* ecma_get_object_is_builtin */
|
||||
|
||||
/**
|
||||
* Set object's has-non-instantiated-built-ins flag's value.
|
||||
* Set flag indicating whether the object is a built-in object
|
||||
*/
|
||||
void
|
||||
ecma_set_object_has_non_instantiated_builtins (ecma_object_t *object_p, /**< object */
|
||||
bool is_has_non_inst_builtins) /**< value of flag */
|
||||
ecma_set_object_is_builtin (ecma_object_t *object_p, /**< object */
|
||||
bool is_builtin) /**< value of flag */
|
||||
{
|
||||
JERRY_ASSERT (object_p != NULL);
|
||||
JERRY_ASSERT (!ecma_is_lexical_environment (object_p));
|
||||
|
||||
const uint32_t offset = ECMA_OBJECT_OBJ_HAS_NON_INSTANTIATED_BUILT_IN_PROPERTIES_POS;
|
||||
const uint32_t width = ECMA_OBJECT_OBJ_HAS_NON_INSTANTIATED_BUILT_IN_PROPERTIES_WIDTH;
|
||||
const uint32_t offset = ECMA_OBJECT_OBJ_IS_BUILTIN_POS;
|
||||
const uint32_t width = ECMA_OBJECT_OBJ_IS_BUILTIN_WIDTH;
|
||||
|
||||
object_p->container = jrt_set_bit_field_value (object_p->container,
|
||||
(uintptr_t) is_has_non_inst_builtins,
|
||||
(uintptr_t) is_builtin,
|
||||
offset,
|
||||
width);
|
||||
} /* ecma_set_object_has_non_instantiated_builtins */
|
||||
} /* ecma_set_object_is_builtin */
|
||||
|
||||
/**
|
||||
* Get type of lexical environment.
|
||||
|
||||
@@ -180,9 +180,9 @@ extern void ecma_set_object_extensible (ecma_object_t *object_p, bool is_extensi
|
||||
extern ecma_object_type_t ecma_get_object_type (ecma_object_t *object_p);
|
||||
extern void ecma_set_object_type (ecma_object_t *object_p, ecma_object_type_t type);
|
||||
extern ecma_object_t* ecma_get_object_prototype (ecma_object_t *object_p);
|
||||
extern bool ecma_get_object_has_non_instantiated_builtins (ecma_object_t *object_p);
|
||||
extern void ecma_set_object_has_non_instantiated_builtins (ecma_object_t *object_p,
|
||||
bool is_has_non_inst_builtins);
|
||||
extern bool ecma_get_object_is_builtin (ecma_object_t *object_p);
|
||||
extern void ecma_set_object_is_builtin (ecma_object_t *object_p,
|
||||
bool is_builtin);
|
||||
extern ecma_lexical_environment_type_t ecma_get_lex_env_type (ecma_object_t *object_p);
|
||||
extern ecma_object_t *ecma_get_lex_env_outer_reference (ecma_object_t *object_p);
|
||||
extern ecma_property_t *ecma_get_property_list (ecma_object_t *object_p);
|
||||
|
||||
@@ -96,6 +96,7 @@ ecma_op_object_get_own_property (ecma_object_t *obj_p, /**< the object */
|
||||
JERRY_ASSERT(property_name_p != NULL);
|
||||
|
||||
const ecma_object_type_t type = ecma_get_object_type (obj_p);
|
||||
const bool is_builtin = ecma_get_object_is_builtin (obj_p);
|
||||
|
||||
ecma_property_t *prop_p = NULL;
|
||||
|
||||
@@ -128,7 +129,7 @@ ecma_op_object_get_own_property (ecma_object_t *obj_p, /**< the object */
|
||||
|
||||
if (unlikely (prop_p == NULL))
|
||||
{
|
||||
if (ecma_get_object_has_non_instantiated_builtins (obj_p))
|
||||
if (is_builtin)
|
||||
{
|
||||
prop_p = ecma_object_try_to_get_non_instantiated_property (obj_p, property_name_p);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user