Skip to content

Replace bit field manipulation functions with macros #913

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions jerry-core/ecma/base/ecma-gc.c
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ ecma_gc_get_object_refs (ecma_object_t *object_p) /**< object */
{
JERRY_ASSERT (object_p != NULL);

return (uint32_t) jrt_extract_bit_field (object_p->container,
return (uint32_t) JRT_EXTRACT_BIT_FIELD (uint64_t, object_p->container,
ECMA_OBJECT_GC_REFS_POS,
ECMA_OBJECT_GC_REFS_WIDTH);
} /* ecma_gc_get_object_refs */
Expand All @@ -108,7 +108,7 @@ ecma_gc_set_object_refs (ecma_object_t *object_p, /**< object */
{
JERRY_ASSERT (object_p != NULL);

object_p->container = jrt_set_bit_field_value (object_p->container,
object_p->container = JRT_SET_BIT_FIELD_VALUE (uint64_t, object_p->container,
refs,
ECMA_OBJECT_GC_REFS_POS,
ECMA_OBJECT_GC_REFS_WIDTH);
Expand All @@ -123,7 +123,7 @@ ecma_gc_get_object_next (ecma_object_t *object_p) /**< object */
JERRY_ASSERT (object_p != NULL);

JERRY_ASSERT (sizeof (uintptr_t) * JERRY_BITSINBYTE >= ECMA_OBJECT_GC_NEXT_CP_WIDTH);
uintptr_t next_cp = (uintptr_t) jrt_extract_bit_field (object_p->container,
uintptr_t next_cp = (uintptr_t) JRT_EXTRACT_BIT_FIELD (uint64_t, object_p->container,
ECMA_OBJECT_GC_NEXT_CP_POS,
ECMA_OBJECT_GC_NEXT_CP_WIDTH);

Expand All @@ -144,7 +144,7 @@ ecma_gc_set_object_next (ecma_object_t *object_p, /**< object */
ECMA_SET_POINTER (next_cp, next_object_p);

JERRY_ASSERT (sizeof (uintptr_t) * JERRY_BITSINBYTE >= ECMA_OBJECT_GC_NEXT_CP_WIDTH);
object_p->container = jrt_set_bit_field_value (object_p->container,
object_p->container = JRT_SET_BIT_FIELD_VALUE (uint64_t, object_p->container,
next_cp,
ECMA_OBJECT_GC_NEXT_CP_POS,
ECMA_OBJECT_GC_NEXT_CP_WIDTH);
Expand All @@ -158,7 +158,7 @@ ecma_gc_is_object_visited (ecma_object_t *object_p) /**< object */
{
JERRY_ASSERT (object_p != NULL);

bool flag_value = (bool) jrt_extract_bit_field (object_p->container,
bool flag_value = (bool) JRT_EXTRACT_BIT_FIELD (uint64_t, object_p->container,
ECMA_OBJECT_GC_VISITED_POS,
ECMA_OBJECT_GC_VISITED_WIDTH);

Expand All @@ -179,7 +179,7 @@ ecma_gc_set_object_visited (ecma_object_t *object_p, /**< object */
is_visited = !is_visited;
}

object_p->container = jrt_set_bit_field_value (object_p->container,
object_p->container = JRT_SET_BIT_FIELD_VALUE (uint64_t, object_p->container,
is_visited,
ECMA_OBJECT_GC_VISITED_POS,
ECMA_OBJECT_GC_VISITED_WIDTH);
Expand Down
20 changes: 10 additions & 10 deletions jerry-core/ecma/base/ecma-helpers-value.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ JERRY_STATIC_ASSERT (sizeof (ecma_value_t) * JERRY_BITSINBYTE >= ECMA_VALUE_SIZE
ecma_type_t __attr_pure___
ecma_get_value_type_field (ecma_value_t value) /**< ecma value */
{
return (ecma_type_t) jrt_extract_bit_field (value,
return (ecma_type_t) JRT_EXTRACT_BIT_FIELD (ecma_value_t, value,
ECMA_VALUE_TYPE_POS,
ECMA_VALUE_TYPE_WIDTH);
} /* ecma_get_value_type_field */
Expand All @@ -52,7 +52,7 @@ ecma_get_value_type_field (ecma_value_t value) /**< ecma value */
static uintptr_t __attr_pure___
ecma_get_value_value_field (ecma_value_t value) /**< ecma value */
{
return (uintptr_t) jrt_extract_bit_field (value,
return (uintptr_t) JRT_EXTRACT_BIT_FIELD (ecma_value_t, value,
ECMA_VALUE_VALUE_POS,
ECMA_VALUE_VALUE_WIDTH);
} /* ecma_get_value_value_field */
Expand All @@ -66,10 +66,10 @@ static ecma_value_t __attr_pure___
ecma_set_value_type_field (ecma_value_t value, /**< ecma value to set field in */
ecma_type_t type_field) /**< new field value */
{
return (ecma_value_t) jrt_set_bit_field_value (value,
type_field,
ECMA_VALUE_TYPE_POS,
ECMA_VALUE_TYPE_WIDTH);
return JRT_SET_BIT_FIELD_VALUE (ecma_value_t, value,
type_field,
ECMA_VALUE_TYPE_POS,
ECMA_VALUE_TYPE_WIDTH);
} /* ecma_set_value_type_field */

/**
Expand All @@ -81,10 +81,10 @@ static ecma_value_t __attr_pure___
ecma_set_value_value_field (ecma_value_t value, /**< ecma value to set field in */
uintptr_t value_field) /**< new field value */
{
return (ecma_value_t) jrt_set_bit_field_value (value,
value_field,
ECMA_VALUE_VALUE_POS,
ECMA_VALUE_VALUE_WIDTH);
return JRT_SET_BIT_FIELD_VALUE (ecma_value_t, value,
value_field,
ECMA_VALUE_VALUE_POS,
ECMA_VALUE_VALUE_WIDTH);
} /* ecma_set_value_value_field */

/**
Expand Down
Loading