Removing trailing whitespace in liballocator, libecmaobjects and libecmaoperations.
This commit is contained in:
@@ -502,7 +502,7 @@ mem_heap_free_block( uint8_t *ptr) /**< pointer to beginning of data space of th
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Recommend allocation size based on chunk size.
|
* Recommend allocation size based on chunk size.
|
||||||
*
|
*
|
||||||
* @return recommended allocation size
|
* @return recommended allocation size
|
||||||
*/
|
*/
|
||||||
size_t
|
size_t
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ static void mem_check_pool( mem_pool_state_t *pool_p);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialization of memory pool.
|
* Initialization of memory pool.
|
||||||
*
|
*
|
||||||
* Pool will be located in the segment [pool_start; pool_start + pool_size).
|
* Pool will be located in the segment [pool_start; pool_start + pool_size).
|
||||||
* Part of pool space will be used for bitmap and the rest will store chunks.
|
* Part of pool space will be used for bitmap and the rest will store chunks.
|
||||||
*/
|
*/
|
||||||
@@ -77,7 +77,7 @@ mem_pool_init(mem_pool_state_t *pool_p, /**< pool */
|
|||||||
chunk_index < chunks_number;
|
chunk_index < chunks_number;
|
||||||
chunk_index++ )
|
chunk_index++ )
|
||||||
{
|
{
|
||||||
mem_pool_chunk_index_t *next_free_chunk_index_p =
|
mem_pool_chunk_index_t *next_free_chunk_index_p =
|
||||||
(mem_pool_chunk_index_t*) MEM_POOL_CHUNK_ADDRESS( pool_p, chunk_index);
|
(mem_pool_chunk_index_t*) MEM_POOL_CHUNK_ADDRESS( pool_p, chunk_index);
|
||||||
|
|
||||||
*next_free_chunk_index_p = (mem_pool_chunk_index_t) (chunk_index + 1u);
|
*next_free_chunk_index_p = (mem_pool_chunk_index_t) (chunk_index + 1u);
|
||||||
|
|||||||
@@ -86,7 +86,7 @@ mem_pools_finalize( void)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate a chunk of specified size
|
* Allocate a chunk of specified size
|
||||||
*
|
*
|
||||||
* @return pointer to allocated chunk, if allocation was successful,
|
* @return pointer to allocated chunk, if allocation was successful,
|
||||||
* or NULL - if not enough memory.
|
* or NULL - if not enough memory.
|
||||||
*/
|
*/
|
||||||
@@ -100,7 +100,7 @@ mem_pools_alloc( void)
|
|||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Space, at least for header and eight chunks.
|
* Space, at least for header and eight chunks.
|
||||||
*
|
*
|
||||||
* TODO: Config.
|
* TODO: Config.
|
||||||
*/
|
*/
|
||||||
size_t pool_size = mem_heap_recommend_allocation_size( sizeof(mem_pool_state_t) + 8 * MEM_POOL_CHUNK_SIZE );
|
size_t pool_size = mem_heap_recommend_allocation_size( sizeof(mem_pool_state_t) + 8 * MEM_POOL_CHUNK_SIZE );
|
||||||
@@ -122,13 +122,13 @@ mem_pools_alloc( void)
|
|||||||
mem_pools = pool_state;
|
mem_pools = pool_state;
|
||||||
|
|
||||||
mem_free_chunks_number += pool_state->chunks_number;
|
mem_free_chunks_number += pool_state->chunks_number;
|
||||||
|
|
||||||
mem_pools_stat_alloc_pool();
|
mem_pools_stat_alloc_pool();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Now there is definitely at least one pool of specified type with at least one free chunk.
|
* Now there is definitely at least one pool of specified type with at least one free chunk.
|
||||||
*
|
*
|
||||||
* Search for the pool.
|
* Search for the pool.
|
||||||
*/
|
*/
|
||||||
mem_pool_state_t *pool_state = mem_pools;
|
mem_pool_state_t *pool_state = mem_pools;
|
||||||
@@ -249,7 +249,7 @@ static void
|
|||||||
mem_pools_stat_free_pool( void)
|
mem_pools_stat_free_pool( void)
|
||||||
{
|
{
|
||||||
JERRY_ASSERT( mem_pools_stats.pools_count > 0 );
|
JERRY_ASSERT( mem_pools_stats.pools_count > 0 );
|
||||||
|
|
||||||
mem_pools_stats.pools_count--;
|
mem_pools_stats.pools_count--;
|
||||||
mem_pools_stats.free_chunks = mem_free_chunks_number;
|
mem_pools_stats.free_chunks = mem_free_chunks_number;
|
||||||
} /* mem_pools_stat_free_pool */
|
} /* mem_pools_stat_free_pool */
|
||||||
@@ -261,7 +261,7 @@ static void
|
|||||||
mem_pools_stat_alloc_chunk(void)
|
mem_pools_stat_alloc_chunk(void)
|
||||||
{
|
{
|
||||||
JERRY_ASSERT( mem_pools_stats.free_chunks > 0 );
|
JERRY_ASSERT( mem_pools_stats.free_chunks > 0 );
|
||||||
|
|
||||||
mem_pools_stats.allocated_chunks++;
|
mem_pools_stats.allocated_chunks++;
|
||||||
mem_pools_stats.free_chunks--;
|
mem_pools_stats.free_chunks--;
|
||||||
|
|
||||||
|
|||||||
@@ -42,16 +42,16 @@ typedef struct
|
|||||||
{
|
{
|
||||||
/** pools' count */
|
/** pools' count */
|
||||||
size_t pools_count;
|
size_t pools_count;
|
||||||
|
|
||||||
/** peak pools' count */
|
/** peak pools' count */
|
||||||
size_t peak_pools_count;
|
size_t peak_pools_count;
|
||||||
|
|
||||||
/** allocated chunks count */
|
/** allocated chunks count */
|
||||||
size_t allocated_chunks;
|
size_t allocated_chunks;
|
||||||
|
|
||||||
/** peak allocated chunks count */
|
/** peak allocated chunks count */
|
||||||
size_t peak_allocated_chunks;
|
size_t peak_allocated_chunks;
|
||||||
|
|
||||||
/** free chunks count */
|
/** free chunks count */
|
||||||
size_t free_chunks;
|
size_t free_chunks;
|
||||||
} mem_pools_stats_t;
|
} mem_pools_stats_t;
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Implementation of routins for allocation/freeing memory for ECMA data types.
|
* Implementation of routins for allocation/freeing memory for ECMA data types.
|
||||||
*
|
*
|
||||||
* All allocation routines from this module have the same structure:
|
* All allocation routines from this module have the same structure:
|
||||||
* 1. Try to allocate memory.
|
* 1. Try to allocate memory.
|
||||||
* 2. If allocation was successful, return pointer to the allocated block.
|
* 2. If allocation was successful, return pointer to the allocated block.
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate memory for ecma-object
|
* Allocate memory for ecma-object
|
||||||
*
|
*
|
||||||
* @return pointer to allocated memory
|
* @return pointer to allocated memory
|
||||||
*/
|
*/
|
||||||
extern ecma_object_t *ecma_alloc_object(void);
|
extern ecma_object_t *ecma_alloc_object(void);
|
||||||
@@ -39,7 +39,7 @@ extern void ecma_dealloc_object( ecma_object_t *object_p);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate memory for ecma-property
|
* Allocate memory for ecma-property
|
||||||
*
|
*
|
||||||
* @return pointer to allocated memory
|
* @return pointer to allocated memory
|
||||||
*/
|
*/
|
||||||
extern ecma_property_t *ecma_alloc_property(void);
|
extern ecma_property_t *ecma_alloc_property(void);
|
||||||
@@ -51,7 +51,7 @@ extern void ecma_dealloc_property( ecma_property_t *property_p);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate memory for ecma-number
|
* Allocate memory for ecma-number
|
||||||
*
|
*
|
||||||
* @return pointer to allocated memory
|
* @return pointer to allocated memory
|
||||||
*/
|
*/
|
||||||
extern ecma_number_t *ecma_alloc_number(void);
|
extern ecma_number_t *ecma_alloc_number(void);
|
||||||
@@ -63,7 +63,7 @@ extern void ecma_dealloc_number( ecma_number_t *number_p);
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate memory for first chunk of an ecma-array
|
* Allocate memory for first chunk of an ecma-array
|
||||||
*
|
*
|
||||||
* @return pointer to allocated memory
|
* @return pointer to allocated memory
|
||||||
*/
|
*/
|
||||||
extern ecma_array_first_chunk_t *ecma_alloc_array_first_chunk(void);
|
extern ecma_array_first_chunk_t *ecma_alloc_array_first_chunk(void);
|
||||||
@@ -75,7 +75,7 @@ extern void ecma_dealloc_array_first_chunk( ecma_array_first_chunk_t *first_chun
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate memory for non-first chunk of an ecma-array
|
* Allocate memory for non-first chunk of an ecma-array
|
||||||
*
|
*
|
||||||
* @return pointer to allocated memory
|
* @return pointer to allocated memory
|
||||||
*/
|
*/
|
||||||
extern ecma_array_non_first_chunk_t *ecma_alloc_array_non_first_chunk(void);
|
extern ecma_array_non_first_chunk_t *ecma_alloc_array_non_first_chunk(void);
|
||||||
|
|||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Ecma-pointer field is used to calculate ecma-value's address.
|
* Ecma-pointer field is used to calculate ecma-value's address.
|
||||||
*
|
*
|
||||||
* Ecma-pointer contains value's shifted offset from common Ecma-pointers' base.
|
* Ecma-pointer contains value's shifted offset from common Ecma-pointers' base.
|
||||||
* The offset is shifted right by MEM_ALIGNMENT_LOG.
|
* The offset is shifted right by MEM_ALIGNMENT_LOG.
|
||||||
* Least significant MEM_ALIGNMENT_LOG bits of non-shifted offset are zeroes.
|
* Least significant MEM_ALIGNMENT_LOG bits of non-shifted offset are zeroes.
|
||||||
@@ -371,7 +371,7 @@ typedef struct ecma_object_t {
|
|||||||
|
|
||||||
/** GC's information */
|
/** GC's information */
|
||||||
ecma_gc_info_t gc_info;
|
ecma_gc_info_t gc_info;
|
||||||
|
|
||||||
FIXME( Remove aligned attribute after packing the struct )
|
FIXME( Remove aligned attribute after packing the struct )
|
||||||
} __packed __attribute__((aligned(16))) ecma_object_t;
|
} __packed __attribute__((aligned(16))) ecma_object_t;
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmahelpers Helpers for operations with ECMA data types
|
* \addtogroup ecmahelpers Helpers for operations with ECMA data types
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
@@ -324,7 +324,7 @@ ecma_make_throw_value( ecma_object_t *exception_p) /**< an object */
|
|||||||
|
|
||||||
return ecma_make_completion_value(ECMA_COMPLETION_TYPE_THROW,
|
return ecma_make_completion_value(ECMA_COMPLETION_TYPE_THROW,
|
||||||
exception,
|
exception,
|
||||||
ECMA_TARGET_ID_RESERVED);
|
ECMA_TARGET_ID_RESERVED);
|
||||||
} /* ecma_make_throw_value */
|
} /* ecma_make_throw_value */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmahelpers Helpers for operations with ECMA data types
|
* \addtogroup ecmahelpers Helpers for operations with ECMA data types
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
@@ -30,9 +30,9 @@
|
|||||||
* Create an object with specified prototype object
|
* Create an object with specified prototype object
|
||||||
* (or NULL prototype if there is not prototype for the object)
|
* (or NULL prototype if there is not prototype for the object)
|
||||||
* and value of 'Extensible' attribute.
|
* and value of 'Extensible' attribute.
|
||||||
*
|
*
|
||||||
* Reference counter's value will be set to one.
|
* Reference counter's value will be set to one.
|
||||||
*
|
*
|
||||||
* @return pointer to the object's descriptor
|
* @return pointer to the object's descriptor
|
||||||
*/
|
*/
|
||||||
ecma_object_t*
|
ecma_object_t*
|
||||||
@@ -49,18 +49,18 @@ ecma_create_object( ecma_object_t *prototype_object_p, /**< pointer to prototybe
|
|||||||
object_p->u.object.extensible = is_extensible;
|
object_p->u.object.extensible = is_extensible;
|
||||||
ecma_set_pointer( object_p->u.object.prototype_object_p, prototype_object_p);
|
ecma_set_pointer( object_p->u.object.prototype_object_p, prototype_object_p);
|
||||||
object_p->u.object.type = type;
|
object_p->u.object.type = type;
|
||||||
|
|
||||||
return object_p;
|
return object_p;
|
||||||
} /* ecma_create_object */
|
} /* ecma_create_object */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a declarative lexical environment with specified outer lexical environment
|
* Create a declarative lexical environment with specified outer lexical environment
|
||||||
* (or NULL if the environment is not nested).
|
* (or NULL if the environment is not nested).
|
||||||
*
|
*
|
||||||
* See also: ECMA-262 v5, 10.2.1.1
|
* See also: ECMA-262 v5, 10.2.1.1
|
||||||
*
|
*
|
||||||
* Reference counter's value will be set to one.
|
* Reference counter's value will be set to one.
|
||||||
*
|
*
|
||||||
* @return pointer to the descriptor of lexical environment
|
* @return pointer to the descriptor of lexical environment
|
||||||
*/
|
*/
|
||||||
ecma_object_t*
|
ecma_object_t*
|
||||||
@@ -82,11 +82,11 @@ ecma_create_decl_lex_env(ecma_object_t *outer_lexical_environment_p) /**< outer
|
|||||||
/**
|
/**
|
||||||
* Create a object lexical environment with specified outer lexical environment
|
* Create a object lexical environment with specified outer lexical environment
|
||||||
* (or NULL if the environment is not nested), binding object and provideThis flag.
|
* (or NULL if the environment is not nested), binding object and provideThis flag.
|
||||||
*
|
*
|
||||||
* See also: ECMA-262 v5, 10.2.1.2
|
* See also: ECMA-262 v5, 10.2.1.2
|
||||||
*
|
*
|
||||||
* Reference counter's value will be set to one.
|
* Reference counter's value will be set to one.
|
||||||
*
|
*
|
||||||
* @return pointer to the descriptor of lexical environment
|
* @return pointer to the descriptor of lexical environment
|
||||||
*/
|
*/
|
||||||
ecma_object_t*
|
ecma_object_t*
|
||||||
@@ -120,7 +120,7 @@ ecma_create_object_lex_env(ecma_object_t *outer_lexical_environment_p, /**< oute
|
|||||||
/**
|
/**
|
||||||
* Create internal property in an object and link it into
|
* Create internal property in an object and link it into
|
||||||
* the object's properties' linked-list (at start of the list).
|
* the object's properties' linked-list (at start of the list).
|
||||||
*
|
*
|
||||||
* @return pointer to newly created property
|
* @return pointer to newly created property
|
||||||
*/
|
*/
|
||||||
ecma_property_t*
|
ecma_property_t*
|
||||||
@@ -128,22 +128,22 @@ ecma_create_internal_property(ecma_object_t *object_p, /**< the object */
|
|||||||
ecma_internal_property_id_t property_id) /**< internal property identifier */
|
ecma_internal_property_id_t property_id) /**< internal property identifier */
|
||||||
{
|
{
|
||||||
ecma_property_t *new_property_p = ecma_alloc_property();
|
ecma_property_t *new_property_p = ecma_alloc_property();
|
||||||
|
|
||||||
new_property_p->type = ECMA_PROPERTY_INTERNAL;
|
new_property_p->type = ECMA_PROPERTY_INTERNAL;
|
||||||
|
|
||||||
ecma_property_t *list_head_p = ecma_get_pointer( object_p->properties_p);
|
ecma_property_t *list_head_p = ecma_get_pointer( object_p->properties_p);
|
||||||
ecma_set_pointer( new_property_p->next_property_p, list_head_p);
|
ecma_set_pointer( new_property_p->next_property_p, list_head_p);
|
||||||
ecma_set_non_null_pointer( object_p->properties_p, new_property_p);
|
ecma_set_non_null_pointer( object_p->properties_p, new_property_p);
|
||||||
|
|
||||||
new_property_p->u.internal_property.type = property_id;
|
new_property_p->u.internal_property.type = property_id;
|
||||||
new_property_p->u.internal_property.value = ECMA_NULL_POINTER;
|
new_property_p->u.internal_property.value = ECMA_NULL_POINTER;
|
||||||
|
|
||||||
return new_property_p;
|
return new_property_p;
|
||||||
} /* ecma_create_internal_property */
|
} /* ecma_create_internal_property */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Find internal property in the object's property set.
|
* Find internal property in the object's property set.
|
||||||
*
|
*
|
||||||
* @return pointer to the property, if it is found,
|
* @return pointer to the property, if it is found,
|
||||||
* NULL - otherwise.
|
* NULL - otherwise.
|
||||||
*/
|
*/
|
||||||
@@ -174,10 +174,10 @@ ecma_find_internal_property(ecma_object_t *object_p, /**< object descriptor */
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get an internal property.
|
* Get an internal property.
|
||||||
*
|
*
|
||||||
* Warning:
|
* Warning:
|
||||||
* the property must exist
|
* the property must exist
|
||||||
*
|
*
|
||||||
* @return pointer to the property
|
* @return pointer to the property
|
||||||
*/
|
*/
|
||||||
ecma_property_t*
|
ecma_property_t*
|
||||||
@@ -185,9 +185,9 @@ ecma_get_internal_property(ecma_object_t *object_p, /**< object descriptor */
|
|||||||
ecma_internal_property_id_t property_id) /**< internal property identifier */
|
ecma_internal_property_id_t property_id) /**< internal property identifier */
|
||||||
{
|
{
|
||||||
ecma_property_t *property_p = ecma_find_internal_property( object_p, property_id);
|
ecma_property_t *property_p = ecma_find_internal_property( object_p, property_id);
|
||||||
|
|
||||||
JERRY_ASSERT( property_p != NULL );
|
JERRY_ASSERT( property_p != NULL );
|
||||||
|
|
||||||
return property_p;
|
return property_p;
|
||||||
} /* ecma_get_internal_property */
|
} /* ecma_get_internal_property */
|
||||||
|
|
||||||
@@ -480,7 +480,7 @@ ecma_delete_property(ecma_object_t *obj_p, /**< object */
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Allocate new ecma-string and fill it with characters from specified buffer
|
* Allocate new ecma-string and fill it with characters from specified buffer
|
||||||
*
|
*
|
||||||
* @return Pointer to first chunk of an array, containing allocated string
|
* @return Pointer to first chunk of an array, containing allocated string
|
||||||
*/
|
*/
|
||||||
ecma_array_first_chunk_t*
|
ecma_array_first_chunk_t*
|
||||||
@@ -499,7 +499,7 @@ ecma_new_ecma_string(const ecma_char_t *string_p) /**< zero-terminated string of
|
|||||||
length++;
|
length++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_array_first_chunk_t *string_first_chunk_p = ecma_alloc_array_first_chunk();
|
ecma_array_first_chunk_t *string_first_chunk_p = ecma_alloc_array_first_chunk();
|
||||||
|
|
||||||
string_first_chunk_p->header.unit_number = length;
|
string_first_chunk_p->header.unit_number = length;
|
||||||
@@ -535,9 +535,9 @@ ecma_new_ecma_string(const ecma_char_t *string_p) /**< zero-terminated string of
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Copy ecma-string's contents to a buffer.
|
* Copy ecma-string's contents to a buffer.
|
||||||
*
|
*
|
||||||
* Buffer will contain length of string, in characters, followed by string's characters.
|
* Buffer will contain length of string, in characters, followed by string's characters.
|
||||||
*
|
*
|
||||||
* @return number of bytes, actually copied to the buffer, if string's content was copied successfully;
|
* @return number of bytes, actually copied to the buffer, if string's content was copied successfully;
|
||||||
* negative number, which is calculated as negation of buffer size, that is required
|
* negative number, which is calculated as negation of buffer size, that is required
|
||||||
* to hold the string's content (in case size of buffer is insuficcient).
|
* to hold the string's content (in case size of buffer is insuficcient).
|
||||||
@@ -585,7 +585,7 @@ ecma_copy_ecma_string_chars_to_buffer(ecma_array_first_chunk_t *first_chunk_p, /
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Duplicate an ecma-string.
|
* Duplicate an ecma-string.
|
||||||
*
|
*
|
||||||
* @return pointer to new ecma-string's first chunk
|
* @return pointer to new ecma-string's first chunk
|
||||||
*/
|
*/
|
||||||
ecma_array_first_chunk_t*
|
ecma_array_first_chunk_t*
|
||||||
@@ -599,7 +599,7 @@ ecma_duplicate_ecma_string( ecma_array_first_chunk_t *first_chunk_p) /**< first
|
|||||||
ecma_array_non_first_chunk_t *non_first_chunk_p, *non_first_chunk_copy_p;
|
ecma_array_non_first_chunk_t *non_first_chunk_p, *non_first_chunk_copy_p;
|
||||||
non_first_chunk_p = ecma_get_pointer( first_chunk_p->header.next_chunk_p);
|
non_first_chunk_p = ecma_get_pointer( first_chunk_p->header.next_chunk_p);
|
||||||
uint16_t *next_pointer_p = &first_chunk_copy_p->header.next_chunk_p;
|
uint16_t *next_pointer_p = &first_chunk_copy_p->header.next_chunk_p;
|
||||||
|
|
||||||
while ( non_first_chunk_p != NULL )
|
while ( non_first_chunk_p != NULL )
|
||||||
{
|
{
|
||||||
non_first_chunk_copy_p = ecma_alloc_array_non_first_chunk();
|
non_first_chunk_copy_p = ecma_alloc_array_non_first_chunk();
|
||||||
@@ -607,10 +607,10 @@ ecma_duplicate_ecma_string( ecma_array_first_chunk_t *first_chunk_p) /**< first
|
|||||||
next_pointer_p = &non_first_chunk_copy_p->next_chunk_p;
|
next_pointer_p = &non_first_chunk_copy_p->next_chunk_p;
|
||||||
|
|
||||||
__memcpy( non_first_chunk_copy_p, non_first_chunk_p, sizeof (ecma_array_non_first_chunk_t));
|
__memcpy( non_first_chunk_copy_p, non_first_chunk_p, sizeof (ecma_array_non_first_chunk_t));
|
||||||
|
|
||||||
non_first_chunk_p = ecma_get_pointer( non_first_chunk_p->next_chunk_p);
|
non_first_chunk_p = ecma_get_pointer( non_first_chunk_p->next_chunk_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
*next_pointer_p = ECMA_NULL_POINTER;
|
*next_pointer_p = ECMA_NULL_POINTER;
|
||||||
|
|
||||||
return first_chunk_copy_p;
|
return first_chunk_copy_p;
|
||||||
@@ -618,7 +618,7 @@ ecma_duplicate_ecma_string( ecma_array_first_chunk_t *first_chunk_p) /**< first
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Compare zero-terminated string to ecma-string
|
* Compare zero-terminated string to ecma-string
|
||||||
*
|
*
|
||||||
* @return true - if strings are equal;
|
* @return true - if strings are equal;
|
||||||
* false - otherwise.
|
* false - otherwise.
|
||||||
*/
|
*/
|
||||||
@@ -631,7 +631,7 @@ ecma_compare_ecma_string_to_ecma_string(const ecma_array_first_chunk_t *string1_
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Compare zero-terminated string to ecma-string
|
* Compare zero-terminated string to ecma-string
|
||||||
*
|
*
|
||||||
* @return true - if strings are equal;
|
* @return true - if strings are equal;
|
||||||
* false - otherwise.
|
* false - otherwise.
|
||||||
*/
|
*/
|
||||||
@@ -672,7 +672,7 @@ ecma_compare_zt_string_to_ecma_string(const ecma_char_t *string_p, /**< zero-ter
|
|||||||
|
|
||||||
if ( *str_iter_p != *current_chunk_chars_cur )
|
if ( *str_iter_p != *current_chunk_chars_cur )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Either *str_iter_p is 0 (zero-terminated string is shorter),
|
* Either *str_iter_p is 0 (zero-terminated string is shorter),
|
||||||
* or the character is just different.
|
* or the character is just different.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmahelpers Helpers for operations with ECMA data types
|
* \addtogroup ecmahelpers Helpers for operations with ECMA data types
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmacomparison ECMA comparison
|
* \addtogroup ecmacomparison ECMA comparison
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
@@ -88,7 +88,7 @@ ecma_op_abstract_equality_compare(ecma_value_t x, /**< first operand */
|
|||||||
} else
|
} else
|
||||||
{ // f.
|
{ // f.
|
||||||
JERRY_ASSERT( is_x_object );
|
JERRY_ASSERT( is_x_object );
|
||||||
|
|
||||||
return ( x.value == y.value );
|
return ( x.value == y.value );
|
||||||
}
|
}
|
||||||
} else if ( ( is_x_null && is_y_undefined )
|
} else if ( ( is_x_null && is_y_undefined )
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmacomparison ECMA comparison
|
* \addtogroup ecmacomparison ECMA comparison
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmaconversion ECMA conversion routines
|
* \addtogroup ecmaconversion ECMA conversion routines
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
@@ -134,7 +134,7 @@ ecma_op_same_value( ecma_value_t x, /**< ecma-value */
|
|||||||
ecma_array_first_chunk_t* x_str_p = (ecma_array_first_chunk_t*)( ecma_get_pointer(x.value) );
|
ecma_array_first_chunk_t* x_str_p = (ecma_array_first_chunk_t*)( ecma_get_pointer(x.value) );
|
||||||
ecma_array_first_chunk_t* y_str_p = (ecma_array_first_chunk_t*)( ecma_get_pointer(y.value) );
|
ecma_array_first_chunk_t* y_str_p = (ecma_array_first_chunk_t*)( ecma_get_pointer(y.value) );
|
||||||
|
|
||||||
return ecma_compare_ecma_string_to_ecma_string( x_str_p, y_str_p);
|
return ecma_compare_ecma_string_to_ecma_string( x_str_p, y_str_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( is_x_boolean )
|
if ( is_x_boolean )
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmaconversion ECMA conversion
|
* \addtogroup ecmaconversion ECMA conversion
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmafunctionobject ECMA Function object related routines
|
* \addtogroup ecmafunctionobject ECMA Function object related routines
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
@@ -284,7 +284,7 @@ ecma_op_function_call( ecma_object_t *func_obj_p, /**< Function object */
|
|||||||
{
|
{
|
||||||
JERRY_UNIMPLEMENTED_REF_UNUSED_VARS( arguments_list_p );
|
JERRY_UNIMPLEMENTED_REF_UNUSED_VARS( arguments_list_p );
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_completion_value_t completion = run_int_from_pos( code_first_opcode_idx,
|
ecma_completion_value_t completion = run_int_from_pos( code_first_opcode_idx,
|
||||||
this_binding,
|
this_binding,
|
||||||
local_env_p,
|
local_env_p,
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmafunctionobject ECMA Function object related routines
|
* \addtogroup ecmafunctionobject ECMA Function object related routines
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmaoperations ECMA-defined operations
|
* \addtogroup ecmaoperations ECMA-defined operations
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
@@ -51,7 +51,7 @@ ecma_op_get_value( ecma_reference_t ref) /**< ECMA-reference */
|
|||||||
const bool has_object_base = ( base.value_type == ECMA_TYPE_OBJECT
|
const bool has_object_base = ( base.value_type == ECMA_TYPE_OBJECT
|
||||||
&& !((ecma_object_t*)ecma_get_pointer(base.value))->is_lexical_environment );
|
&& !((ecma_object_t*)ecma_get_pointer(base.value))->is_lexical_environment );
|
||||||
const bool is_property_reference = has_primitive_base || has_object_base;
|
const bool is_property_reference = has_primitive_base || has_object_base;
|
||||||
|
|
||||||
// GetValue_3
|
// GetValue_3
|
||||||
if ( is_unresolvable_reference )
|
if ( is_unresolvable_reference )
|
||||||
{
|
{
|
||||||
@@ -65,7 +65,7 @@ ecma_op_get_value( ecma_reference_t ref) /**< ECMA-reference */
|
|||||||
{
|
{
|
||||||
ecma_object_t *obj_p = ecma_get_pointer( base.value);
|
ecma_object_t *obj_p = ecma_get_pointer( base.value);
|
||||||
JERRY_ASSERT( obj_p != NULL && !obj_p->is_lexical_environment );
|
JERRY_ASSERT( obj_p != NULL && !obj_p->is_lexical_environment );
|
||||||
|
|
||||||
// GetValue_4.b case 1
|
// GetValue_4.b case 1
|
||||||
/* return [[Get]]( base as this, ref.referenced_name_p) */
|
/* return [[Get]]( base as this, ref.referenced_name_p) */
|
||||||
JERRY_UNIMPLEMENTED();
|
JERRY_UNIMPLEMENTED();
|
||||||
@@ -159,7 +159,7 @@ ecma_op_put_value(ecma_reference_t ref, /**< ECMA-reference */
|
|||||||
// PutValue_4.b case 1
|
// PutValue_4.b case 1
|
||||||
|
|
||||||
/* return [[Put]]( base as this, ref.referenced_name_p, value, ref.is_strict); */
|
/* return [[Put]]( base as this, ref.referenced_name_p, value, ref.is_strict); */
|
||||||
JERRY_UNIMPLEMENTED();
|
JERRY_UNIMPLEMENTED();
|
||||||
} else
|
} else
|
||||||
{
|
{
|
||||||
// PutValue_4.b case 2
|
// PutValue_4.b case 2
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmaglobalobject ECMA Global object related routines
|
* \addtogroup ecmaglobalobject ECMA Global object related routines
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmaglobalobject ECMA Global object related routines
|
* \addtogroup ecmaglobalobject ECMA Global object related routines
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -71,7 +71,7 @@ ecma_op_has_binding(ecma_object_t *lex_env_p, /**< lexical environment */
|
|||||||
{
|
{
|
||||||
case ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE:
|
case ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE:
|
||||||
{
|
{
|
||||||
ecma_property_t *property_p = ecma_find_named_property( lex_env_p, name_p);
|
ecma_property_t *property_p = ecma_find_named_property( lex_env_p, name_p);
|
||||||
|
|
||||||
has_binding = ( property_p != NULL ) ? ECMA_SIMPLE_VALUE_TRUE
|
has_binding = ( property_p != NULL ) ? ECMA_SIMPLE_VALUE_TRUE
|
||||||
: ECMA_SIMPLE_VALUE_FALSE;
|
: ECMA_SIMPLE_VALUE_FALSE;
|
||||||
@@ -87,7 +87,7 @@ ecma_op_has_binding(ecma_object_t *lex_env_p, /**< lexical environment */
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ecma_make_completion_value(ECMA_COMPLETION_TYPE_NORMAL,
|
return ecma_make_completion_value(ECMA_COMPLETION_TYPE_NORMAL,
|
||||||
ecma_make_simple_value( has_binding),
|
ecma_make_simple_value( has_binding),
|
||||||
@@ -121,7 +121,7 @@ ecma_op_create_mutable_binding(ecma_object_t *lex_env_p, /**< lexical environmen
|
|||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
is_deletable ? ECMA_PROPERTY_CONFIGURABLE
|
is_deletable ? ECMA_PROPERTY_CONFIGURABLE
|
||||||
: ECMA_PROPERTY_NOT_CONFIGURABLE);
|
: ECMA_PROPERTY_NOT_CONFIGURABLE);
|
||||||
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@@ -161,7 +161,7 @@ ecma_op_create_mutable_binding(ecma_object_t *lex_env_p, /**< lexical environmen
|
|||||||
return completion;
|
return completion;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return ecma_make_empty_completion_value();
|
return ecma_make_empty_completion_value();
|
||||||
} /* ecma_op_create_mutable_binding */
|
} /* ecma_op_create_mutable_binding */
|
||||||
@@ -189,7 +189,7 @@ ecma_op_set_mutable_binding(ecma_object_t *lex_env_p, /**< lexical environment *
|
|||||||
{
|
{
|
||||||
case ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE:
|
case ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE:
|
||||||
{
|
{
|
||||||
ecma_property_t *property_p = ecma_get_named_data_property( lex_env_p, name_p);
|
ecma_property_t *property_p = ecma_get_named_data_property( lex_env_p, name_p);
|
||||||
|
|
||||||
if ( property_p->u.named_data_property.writable == ECMA_PROPERTY_WRITABLE )
|
if ( property_p->u.named_data_property.writable == ECMA_PROPERTY_WRITABLE )
|
||||||
{
|
{
|
||||||
@@ -250,7 +250,7 @@ ecma_op_get_binding_value(ecma_object_t *lex_env_p, /**< lexical environment */
|
|||||||
{
|
{
|
||||||
case ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE:
|
case ECMA_LEXICAL_ENVIRONMENT_DECLARATIVE:
|
||||||
{
|
{
|
||||||
ecma_property_t *property_p = ecma_get_named_data_property( lex_env_p, name_p);
|
ecma_property_t *property_p = ecma_get_named_data_property( lex_env_p, name_p);
|
||||||
|
|
||||||
ecma_value_t prop_value = property_p->u.named_data_property.value;
|
ecma_value_t prop_value = property_p->u.named_data_property.value;
|
||||||
|
|
||||||
@@ -294,7 +294,7 @@ ecma_op_get_binding_value(ecma_object_t *lex_env_p, /**< lexical environment */
|
|||||||
|
|
||||||
return ecma_op_object_get( binding_obj_p, name_p);
|
return ecma_op_object_get( binding_obj_p, name_p);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JERRY_UNREACHABLE();
|
JERRY_UNREACHABLE();
|
||||||
} /* ecma_op_get_binding_value */
|
} /* ecma_op_get_binding_value */
|
||||||
@@ -350,7 +350,7 @@ ecma_op_delete_binding(ecma_object_t *lex_env_p, /**< lexical environment */
|
|||||||
|
|
||||||
return ecma_op_object_delete( binding_obj_p, name_p, false);
|
return ecma_op_object_delete( binding_obj_p, name_p, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JERRY_UNREACHABLE();
|
JERRY_UNREACHABLE();
|
||||||
} /* ecma_op_delete_binding */
|
} /* ecma_op_delete_binding */
|
||||||
@@ -395,7 +395,7 @@ ecma_op_implicit_this_value( ecma_object_t *lex_env_p) /**< lexical environment
|
|||||||
return ecma_make_simple_completion_value( ECMA_SIMPLE_VALUE_UNDEFINED);
|
return ecma_make_simple_completion_value( ECMA_SIMPLE_VALUE_UNDEFINED);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JERRY_UNREACHABLE();
|
JERRY_UNREACHABLE();
|
||||||
} /* ecma_op_implicit_this_value */
|
} /* ecma_op_implicit_this_value */
|
||||||
@@ -436,7 +436,7 @@ ecma_op_create_immutable_binding(ecma_object_t *lex_env_p, /**< lexical environm
|
|||||||
{
|
{
|
||||||
JERRY_UNREACHABLE();
|
JERRY_UNREACHABLE();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JERRY_UNREACHABLE();
|
JERRY_UNREACHABLE();
|
||||||
} /* ecma_op_create_immutable_binding */
|
} /* ecma_op_create_immutable_binding */
|
||||||
@@ -473,7 +473,7 @@ ecma_op_initialize_immutable_binding(ecma_object_t *lex_env_p, /**< lexical envi
|
|||||||
{
|
{
|
||||||
JERRY_UNREACHABLE();
|
JERRY_UNREACHABLE();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
JERRY_UNREACHABLE();
|
JERRY_UNREACHABLE();
|
||||||
} /* ecma_op_initialize_immutable_binding */
|
} /* ecma_op_initialize_immutable_binding */
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmamagicstrings Collection of magic string constants used in ECMA
|
* \addtogroup ecmamagicstrings Collection of magic string constants used in ECMA
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmamagicstrings Collection of magic string constants used in ECMA
|
* \addtogroup ecmamagicstrings Collection of magic string constants used in ECMA
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmaobjectsinternalops ECMA objects' operations
|
* \addtogroup ecmaobjectsinternalops ECMA objects' operations
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmaobjectsinternalops ECMA objects' operations
|
* \addtogroup ecmaobjectsinternalops ECMA objects' operations
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
/** \addtogroup ecma ---TODO---
|
/** \addtogroup ecma ---TODO---
|
||||||
* @{
|
* @{
|
||||||
*
|
*
|
||||||
* \addtogroup ecmaoperations ECMA-defined operations
|
* \addtogroup ecmaoperations ECMA-defined operations
|
||||||
* @{
|
* @{
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user