aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAkos Kiss <akiss@inf.u-szeged.hu>2018-08-08 16:34:13 +0200
committeryichoi <duddlf.choi@samsung.com>2018-08-08 23:34:13 +0900
commit58c568a68faa0f17d0fdf3fb9a5e28c6c5bf7cb8 (patch)
treea32f858a3213f9763e2d6e2c3013f6b454384546
parent47087dec565ca84abb74a4ec0c791119f4a63221 (diff)
Revisit unused global functions in jerry-core (#2450)
There are some leftover global functions in the code that are not referenced at all anymore. These functions are removed by this patch. There are also some global functions that are only used in their own modules. These functions are made static by this patch. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
-rw-r--r--jerry-core/ecma/base/ecma-alloc.c29
-rw-r--r--jerry-core/ecma/base/ecma-alloc.h12
-rw-r--r--jerry-core/ecma/base/ecma-helpers-number.c4
-rw-r--r--jerry-core/ecma/base/ecma-helpers-string.c48
-rw-r--r--jerry-core/ecma/base/ecma-helpers.h5
-rw-r--r--jerry-core/ecma/builtin-objects/ecma-builtin-helpers-json.c2
-rw-r--r--jerry-core/ecma/builtin-objects/ecma-builtin-helpers.h2
-rw-r--r--jerry-core/ecma/operations/ecma-exceptions.c16
-rw-r--r--jerry-core/ecma/operations/ecma-exceptions.h2
-rw-r--r--jerry-core/ecma/operations/ecma-objects.c2
-rw-r--r--jerry-core/ecma/operations/ecma-objects.h2
-rw-r--r--jerry-core/ecma/operations/ecma-promise-object.c8
-rw-r--r--jerry-core/ecma/operations/ecma-promise-object.h4
-rw-r--r--jerry-core/jmem/jmem-allocator.c256
-rw-r--r--jerry-core/jmem/jmem.h1
-rw-r--r--jerry-core/lit/lit-char-helpers.c14
-rw-r--r--jerry-core/lit/lit-char-helpers.h2
-rw-r--r--jerry-core/lit/lit-magic-strings.c2
-rw-r--r--jerry-core/lit/lit-magic-strings.h1
-rw-r--r--jerry-core/parser/js/js-parser-internal.h1
-rw-r--r--jerry-core/parser/js/js-parser.c84
21 files changed, 204 insertions, 293 deletions
diff --git a/jerry-core/ecma/base/ecma-alloc.c b/jerry-core/ecma/base/ecma-alloc.c
index c41456a3..27ab234c 100644
--- a/jerry-core/ecma/base/ecma-alloc.c
+++ b/jerry-core/ecma/base/ecma-alloc.c
@@ -185,35 +185,6 @@ ecma_dealloc_string_buffer (ecma_string_t *string_p, /**< string with data */
} /* ecma_dealloc_string_buffer */
/**
- * Allocate memory for getter-setter pointer pair
- *
- * @return pointer to allocated memory
- */
-inline ecma_getter_setter_pointers_t * JERRY_ATTR_ALWAYS_INLINE
-ecma_alloc_getter_setter_pointers (void)
-{
-#ifdef JMEM_STATS
- jmem_stats_allocate_property_bytes (sizeof (ecma_property_pair_t));
-#endif /* JMEM_STATS */
-
- return (ecma_getter_setter_pointers_t *) jmem_pools_alloc (sizeof (ecma_getter_setter_pointers_t));
-} /* ecma_alloc_getter_setter_pointers */
-
-/**
- * Dealloc memory from getter-setter pointer pair
- */
-inline void JERRY_ATTR_ALWAYS_INLINE
-ecma_dealloc_getter_setter_pointers (ecma_getter_setter_pointers_t *getter_setter_pointers_p) /**< pointer pair
- * to be freed */
-{
-#ifdef JMEM_STATS
- jmem_stats_free_property_bytes (sizeof (ecma_property_pair_t));
-#endif /* JMEM_STATS */
-
- jmem_pools_free (getter_setter_pointers_p, sizeof (ecma_getter_setter_pointers_t));
-} /* ecma_dealloc_getter_setter_pointers */
-
-/**
* Allocate memory for ecma-property pair
*
* @return pointer to allocated memory
diff --git a/jerry-core/ecma/base/ecma-alloc.h b/jerry-core/ecma/base/ecma-alloc.h
index 512aee84..da75f690 100644
--- a/jerry-core/ecma/base/ecma-alloc.h
+++ b/jerry-core/ecma/base/ecma-alloc.h
@@ -86,18 +86,6 @@ ecma_string_t *ecma_alloc_string_buffer (size_t size);
void ecma_dealloc_string_buffer (ecma_string_t *string_p, size_t size);
/**
- * Allocate memory for getter-setter pointer pair
- *
- * @return pointer to allocated memory
- */
-ecma_getter_setter_pointers_t *ecma_alloc_getter_setter_pointers (void);
-
-/**
- * Dealloc memory from getter-setter pointer pair
- */
-void ecma_dealloc_getter_setter_pointers (ecma_getter_setter_pointers_t *getter_setter_pointers_p);
-
-/**
* Allocate memory for ecma-property pair
*
* @return pointer to allocated memory
diff --git a/jerry-core/ecma/base/ecma-helpers-number.c b/jerry-core/ecma/base/ecma-helpers-number.c
index aee96c7f..ddc96842 100644
--- a/jerry-core/ecma/base/ecma-helpers-number.c
+++ b/jerry-core/ecma/base/ecma-helpers-number.c
@@ -351,7 +351,7 @@ ecma_number_is_infinity (ecma_number_t num) /**< ecma-number */
*
* @return shift of dot in the fraction
*/
-int32_t
+static int32_t
ecma_number_get_fraction_and_exponent (ecma_number_t num, /**< ecma-number */
uint64_t *out_fraction_p, /**< [out] fraction of the number */
int32_t *out_exponent_p) /**< [out] exponent of the number */
@@ -410,7 +410,7 @@ ecma_number_get_fraction_and_exponent (ecma_number_t num, /**< ecma-number */
*
* @return ecma-number
*/
-ecma_number_t
+static ecma_number_t
ecma_number_make_normal_positive_from_fraction_and_exponent (uint64_t fraction, /**< fraction */
int32_t exponent) /**< exponent */
{
diff --git a/jerry-core/ecma/base/ecma-helpers-string.c b/jerry-core/ecma/base/ecma-helpers-string.c
index ac5a403e..5a183a85 100644
--- a/jerry-core/ecma/base/ecma-helpers-string.c
+++ b/jerry-core/ecma/base/ecma-helpers-string.c
@@ -176,6 +176,30 @@ ecma_string_get_chars_fast (const ecma_string_t *string_p, /**< ecma-string */
} /* ecma_string_get_chars_fast */
/**
+ * Allocate new ecma-string and fill it with reference to ECMA magic string
+ *
+ * @return pointer to ecma-string descriptor
+ */
+static ecma_string_t *
+ecma_new_ecma_string_from_magic_string_ex_id (lit_magic_string_ex_id_t id) /**< identifier of externl magic string */
+{
+ JERRY_ASSERT (id < lit_get_magic_string_ex_count ());
+
+ if (JERRY_LIKELY (id <= ECMA_DIRECT_STRING_MAX_IMM))
+ {
+ return (ecma_string_t *) ECMA_CREATE_DIRECT_STRING (ECMA_DIRECT_STRING_MAGIC_EX, (uintptr_t) id);
+ }
+
+ ecma_string_t *string_desc_p = ecma_alloc_string ();
+
+ string_desc_p->refs_and_container = ECMA_STRING_CONTAINER_MAGIC_STRING_EX | ECMA_STRING_REF_ONE;
+ string_desc_p->hash = (lit_string_hash_t) (LIT_MAGIC_STRING__COUNT + id);
+ string_desc_p->u.magic_string_ex_id = id;
+
+ return string_desc_p;
+} /* ecma_new_ecma_string_from_magic_string_ex_id */
+
+/**
* Allocate new ecma-string and fill it with characters from the utf8 string
*
* @return pointer to ecma-string descriptor
@@ -481,30 +505,6 @@ ecma_get_magic_string (lit_magic_string_id_t id) /**< identifier of magic string
} /* ecma_get_magic_string */
/**
- * Allocate new ecma-string and fill it with reference to ECMA magic string
- *
- * @return pointer to ecma-string descriptor
- */
-ecma_string_t *
-ecma_new_ecma_string_from_magic_string_ex_id (lit_magic_string_ex_id_t id) /**< identifier of externl magic string */
-{
- JERRY_ASSERT (id < lit_get_magic_string_ex_count ());
-
- if (JERRY_LIKELY (id <= ECMA_DIRECT_STRING_MAX_IMM))
- {
- return (ecma_string_t *) ECMA_CREATE_DIRECT_STRING (ECMA_DIRECT_STRING_MAGIC_EX, (uintptr_t) id);
- }
-
- ecma_string_t *string_desc_p = ecma_alloc_string ();
-
- string_desc_p->refs_and_container = ECMA_STRING_CONTAINER_MAGIC_STRING_EX | ECMA_STRING_REF_ONE;
- string_desc_p->hash = (lit_string_hash_t) (LIT_MAGIC_STRING__COUNT + id);
- string_desc_p->u.magic_string_ex_id = id;
-
- return string_desc_p;
-} /* ecma_new_ecma_string_from_magic_string_ex_id */
-
-/**
* Append a cesu8 string after an ecma-string
*
* Note:
diff --git a/jerry-core/ecma/base/ecma-helpers.h b/jerry-core/ecma/base/ecma-helpers.h
index 7476d377..dfffd496 100644
--- a/jerry-core/ecma/base/ecma-helpers.h
+++ b/jerry-core/ecma/base/ecma-helpers.h
@@ -200,7 +200,6 @@ ecma_string_t *ecma_new_ecma_string_from_uint32 (uint32_t uint32_number);
ecma_string_t *ecma_get_ecma_string_from_uint32 (uint32_t uint32_number);
ecma_string_t *ecma_new_ecma_string_from_number (ecma_number_t num);
ecma_string_t *ecma_get_magic_string (lit_magic_string_id_t id);
-ecma_string_t *ecma_new_ecma_string_from_magic_string_ex_id (lit_magic_string_ex_id_t id);
ecma_string_t *ecma_append_chars_to_string (ecma_string_t *string1_p,
const lit_utf8_byte_t *cesu8_string2_p,
lit_utf8_size_t cesu8_string2_size,
@@ -268,10 +267,6 @@ bool ecma_number_is_nan (ecma_number_t num);
bool ecma_number_is_negative (ecma_number_t num);
bool ecma_number_is_zero (ecma_number_t num);
bool ecma_number_is_infinity (ecma_number_t num);
-int32_t
-ecma_number_get_fraction_and_exponent (ecma_number_t num, uint64_t *out_fraction_p, int32_t *out_exponent_p);
-ecma_number_t
-ecma_number_make_normal_positive_from_fraction_and_exponent (uint64_t fraction, int32_t exponent);
ecma_number_t
ecma_number_make_from_sign_mantissa_and_exponent (bool sign, uint64_t mantissa, int32_t exponent);
ecma_number_t ecma_number_get_prev (ecma_number_t num);
diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-helpers-json.c b/jerry-core/ecma/builtin-objects/ecma-builtin-helpers-json.c
index 6147d3c0..2acdda9a 100644
--- a/jerry-core/ecma/builtin-objects/ecma-builtin-helpers-json.c
+++ b/jerry-core/ecma/builtin-objects/ecma-builtin-helpers-json.c
@@ -100,7 +100,7 @@ ecma_has_string_value_in_collection (ecma_collection_header_t *collection_p, /**
* @return pointer to ecma-string
* Returned value must be freed with ecma_deref_ecma_string.
*/
-ecma_string_t *
+static ecma_string_t *
ecma_builtin_helper_json_create_separated_properties (ecma_collection_header_t *partial_p, /**< key-value pairs*/
ecma_string_t *separator_p) /**< separator*/
{
diff --git a/jerry-core/ecma/builtin-objects/ecma-builtin-helpers.h b/jerry-core/ecma/builtin-objects/ecma-builtin-helpers.h
index 1e14a86a..41cc4b8f 100644
--- a/jerry-core/ecma/builtin-objects/ecma-builtin-helpers.h
+++ b/jerry-core/ecma/builtin-objects/ecma-builtin-helpers.h
@@ -158,8 +158,6 @@ ecma_value_t ecma_builtin_json_string_from_object (const ecma_value_t arg1);
bool ecma_json_has_object_in_stack (ecma_json_occurence_stack_item_t *stack_p, ecma_object_t *object_p);
bool ecma_has_string_value_in_collection (ecma_collection_header_t *collection_p, ecma_value_t string_value);
-ecma_string_t *
-ecma_builtin_helper_json_create_separated_properties (ecma_collection_header_t *partial_p, ecma_string_t *separator_p);
ecma_value_t
ecma_builtin_helper_json_create_formatted_json (lit_utf8_byte_t left_bracket, lit_utf8_byte_t right_bracket,
ecma_string_t *stepback_p, ecma_collection_header_t *partial_p,
diff --git a/jerry-core/ecma/operations/ecma-exceptions.c b/jerry-core/ecma/operations/ecma-exceptions.c
index 997b17e1..8af42667 100644
--- a/jerry-core/ecma/operations/ecma-exceptions.c
+++ b/jerry-core/ecma/operations/ecma-exceptions.c
@@ -218,7 +218,7 @@ ecma_new_standard_error_with_message (ecma_standard_error_t error_type, /**< nat
* @return ecma value
* Returned value must be freed with ecma_free_value
*/
-ecma_value_t
+static ecma_value_t
ecma_raise_standard_error (ecma_standard_error_t error_type, /**< error type */
const lit_utf8_byte_t *msg_p) /**< error message */
{
@@ -344,20 +344,6 @@ ecma_raise_common_error (const char *msg_p) /**< error message */
} /* ecma_raise_common_error */
/**
- * Raise an EvalError with the given message.
- *
- * See also: ECMA-262 v5, 15.11.6.1
- *
- * @return ecma value
- * Returned value must be freed with ecma_free_value
- */
-ecma_value_t
-ecma_raise_eval_error (const char *msg_p) /**< error message */
-{
- return ecma_raise_standard_error (ECMA_ERROR_EVAL, (const lit_utf8_byte_t *) msg_p);
-} /* ecma_raise_eval_error */
-
-/**
* Raise a RangeError with the given message.
*
* See also: ECMA-262 v5, 15.11.6.2
diff --git a/jerry-core/ecma/operations/ecma-exceptions.h b/jerry-core/ecma/operations/ecma-exceptions.h
index c11c53a6..11ae8cab 100644
--- a/jerry-core/ecma/operations/ecma-exceptions.h
+++ b/jerry-core/ecma/operations/ecma-exceptions.h
@@ -53,12 +53,10 @@ typedef enum
ecma_standard_error_t ecma_get_error_type (ecma_object_t *error_object);
ecma_object_t *ecma_new_standard_error (ecma_standard_error_t error_type);
ecma_object_t *ecma_new_standard_error_with_message (ecma_standard_error_t error_type, ecma_string_t *message_string_p);
-ecma_value_t ecma_raise_standard_error (ecma_standard_error_t error_type, const lit_utf8_byte_t *msg_p);
#ifdef JERRY_ENABLE_ERROR_MESSAGES
ecma_value_t ecma_raise_standard_error_with_format (ecma_standard_error_t error_type, const char *msg_p, ...);
#endif /* JERRY_ENABLE_ERROR_MESSAGES */
ecma_value_t ecma_raise_common_error (const char *msg_p);
-ecma_value_t ecma_raise_eval_error (const char *msg_p);
ecma_value_t ecma_raise_range_error (const char *msg_p);
ecma_value_t ecma_raise_reference_error (const char *msg_p);
ecma_value_t ecma_raise_syntax_error (const char *msg_p);
diff --git a/jerry-core/ecma/operations/ecma-objects.c b/jerry-core/ecma/operations/ecma-objects.c
index 6685cb6a..adfdd62c 100644
--- a/jerry-core/ecma/operations/ecma-objects.c
+++ b/jerry-core/ecma/operations/ecma-objects.c
@@ -312,7 +312,7 @@ ecma_op_object_get_own_property (ecma_object_t *object_p, /**< the object */
* @return pointer to a property - if it exists,
* NULL (i.e. ecma-undefined) - otherwise.
*/
-ecma_property_t
+static ecma_property_t
ecma_op_object_get_property (ecma_object_t *object_p, /**< the object */
ecma_string_t *property_name_p, /**< property name */
ecma_property_ref_t *property_ref_p, /**< property reference */
diff --git a/jerry-core/ecma/operations/ecma-objects.h b/jerry-core/ecma/operations/ecma-objects.h
index 92e932eb..4692837b 100644
--- a/jerry-core/ecma/operations/ecma-objects.h
+++ b/jerry-core/ecma/operations/ecma-objects.h
@@ -28,8 +28,6 @@
ecma_property_t ecma_op_object_get_own_property (ecma_object_t *object_p, ecma_string_t *property_name_p,
ecma_property_ref_t *property_ref_p, uint32_t options);
-ecma_property_t ecma_op_object_get_property (ecma_object_t *object_p, ecma_string_t *property_name_p,
- ecma_property_ref_t *property_ref_p, uint32_t options);
bool ecma_op_object_has_own_property (ecma_object_t *object_p, ecma_string_t *property_name_p);
bool ecma_op_object_has_property (ecma_object_t *object_p, ecma_string_t *property_name_p);
ecma_value_t ecma_op_object_find_own (ecma_value_t base_value, ecma_object_t *object_p, ecma_string_t *property_name_p);
diff --git a/jerry-core/ecma/operations/ecma-promise-object.c b/jerry-core/ecma/operations/ecma-promise-object.c
index f454ff4e..869bffc8 100644
--- a/jerry-core/ecma/operations/ecma-promise-object.c
+++ b/jerry-core/ecma/operations/ecma-promise-object.c
@@ -53,7 +53,7 @@ ecma_is_promise (ecma_object_t *obj_p) /**< points to object */
* @return ecma value of the promise result.
* Returned value must be freed with ecma_free_value
*/
-inline ecma_value_t
+static inline ecma_value_t
ecma_promise_get_result (ecma_object_t *obj_p) /**< points to promise object */
{
JERRY_ASSERT (ecma_is_promise (obj_p));
@@ -66,7 +66,7 @@ ecma_promise_get_result (ecma_object_t *obj_p) /**< points to promise object */
/**
* Set the PromiseResult of promise.
*/
-inline void JERRY_ATTR_ALWAYS_INLINE
+static inline void JERRY_ATTR_ALWAYS_INLINE
ecma_promise_set_result (ecma_object_t *obj_p, /**< points to promise object */
ecma_value_t result) /**< the result value */
{
@@ -84,7 +84,7 @@ ecma_promise_set_result (ecma_object_t *obj_p, /**< points to promise object */
*
* @return the state's enum value
*/
-inline uint8_t JERRY_ATTR_ALWAYS_INLINE
+static inline uint8_t JERRY_ATTR_ALWAYS_INLINE
ecma_promise_get_state (ecma_object_t *obj_p) /**< points to promise object */
{
JERRY_ASSERT (ecma_is_promise (obj_p));
@@ -95,7 +95,7 @@ ecma_promise_get_state (ecma_object_t *obj_p) /**< points to promise object */
/**
* Set the PromiseState of promise.
*/
-inline void JERRY_ATTR_ALWAYS_INLINE
+static inline void JERRY_ATTR_ALWAYS_INLINE
ecma_promise_set_state (ecma_object_t *obj_p, /**< points to promise object */
uint8_t state) /**< the state */
{
diff --git a/jerry-core/ecma/operations/ecma-promise-object.h b/jerry-core/ecma/operations/ecma-promise-object.h
index d688be1d..a32018b6 100644
--- a/jerry-core/ecma/operations/ecma-promise-object.h
+++ b/jerry-core/ecma/operations/ecma-promise-object.h
@@ -86,10 +86,6 @@ typedef enum
} ecma_promise_property_symbolic_constant_t;
bool ecma_is_promise (ecma_object_t *obj_p);
-ecma_value_t ecma_promise_get_result (ecma_object_t *obj_p);
-void ecma_promise_set_result (ecma_object_t *obj_p, ecma_value_t result);
-uint8_t ecma_promise_get_state (ecma_object_t *obj_p);
-void ecma_promise_set_state (ecma_object_t *obj_p, uint8_t state);
ecma_value_t
ecma_op_create_promise_object (ecma_value_t executor, ecma_promise_executor_type_t type);
ecma_value_t ecma_promise_new_capability (void);
diff --git a/jerry-core/jmem/jmem-allocator.c b/jerry-core/jmem/jmem-allocator.c
index f6bc9a4c..10f880f8 100644
--- a/jerry-core/jmem/jmem-allocator.c
+++ b/jerry-core/jmem/jmem-allocator.c
@@ -24,138 +24,11 @@
#define JMEM_ALLOCATOR_INTERNAL
#include "jmem-allocator-internal.h"
-/**
- * Initialize memory allocators.
- */
-void
-jmem_init (void)
-{
- jmem_heap_init ();
-} /* jmem_init */
-
-/**
- * Finalize memory allocators.
- */
-void
-jmem_finalize (void)
-{
- jmem_pools_finalize ();
-
-#ifdef JMEM_STATS
- if (JERRY_CONTEXT (jerry_init_flags) & ECMA_INIT_MEM_STATS)
- {
- jmem_stats_print ();
- }
-#endif /* JMEM_STATS */
-
- jmem_heap_finalize ();
-} /* jmem_finalize */
-
-/**
- * Compress pointer
- *
- * @return packed pointer
- */
-inline jmem_cpointer_t JERRY_ATTR_PURE JERRY_ATTR_ALWAYS_INLINE
-jmem_compress_pointer (const void *pointer_p) /**< pointer to compress */
-{
- JERRY_ASSERT (pointer_p != NULL);
- JERRY_ASSERT (jmem_is_heap_pointer (pointer_p));
-
- uintptr_t uint_ptr = (uintptr_t) pointer_p;
-
- JERRY_ASSERT (uint_ptr % JMEM_ALIGNMENT == 0);
-
-#if defined (ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY) && defined (JERRY_CPOINTER_32_BIT)
- JERRY_ASSERT (((jmem_cpointer_t) uint_ptr) == uint_ptr);
-#else /* !ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY || !JERRY_CPOINTER_32_BIT */
- const uintptr_t heap_start = (uintptr_t) &JERRY_HEAP_CONTEXT (first);
-
- uint_ptr -= heap_start;
- uint_ptr >>= JMEM_ALIGNMENT_LOG;
-
-#ifdef JERRY_CPOINTER_32_BIT
- JERRY_ASSERT (uint_ptr <= UINT32_MAX);
-#else /* !JERRY_CPOINTER_32_BIT */
- JERRY_ASSERT (uint_ptr <= UINT16_MAX);
-#endif /* JERRY_CPOINTER_32_BIT */
- JERRY_ASSERT (uint_ptr != JMEM_CP_NULL);
-#endif /* ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY && JERRY_CPOINTER_32_BIT */
-
- return (jmem_cpointer_t) uint_ptr;
-} /* jmem_compress_pointer */
-
-/**
- * Decompress pointer
- *
- * @return unpacked pointer
- */
-inline void * JERRY_ATTR_PURE JERRY_ATTR_ALWAYS_INLINE
-jmem_decompress_pointer (uintptr_t compressed_pointer) /**< pointer to decompress */
-{
- JERRY_ASSERT (compressed_pointer != JMEM_CP_NULL);
-
- uintptr_t uint_ptr = compressed_pointer;
-
- JERRY_ASSERT (((jmem_cpointer_t) uint_ptr) == uint_ptr);
-
-#if defined (ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY) && defined (JERRY_CPOINTER_32_BIT)
- JERRY_ASSERT (uint_ptr % JMEM_ALIGNMENT == 0);
-#else /* !ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY || !JERRY_CPOINTER_32_BIT */
- const uintptr_t heap_start = (uintptr_t) &JERRY_HEAP_CONTEXT (first);
-
- uint_ptr <<= JMEM_ALIGNMENT_LOG;
- uint_ptr += heap_start;
-
- JERRY_ASSERT (jmem_is_heap_pointer ((void *) uint_ptr));
-#endif /* ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY && JERRY_CPOINTER_32_BIT */
-
- return (void *) uint_ptr;
-} /* jmem_decompress_pointer */
-
-/**
- * Register specified 'try to give memory back' callback routine
- */
-void
-jmem_register_free_unused_memory_callback (jmem_free_unused_memory_callback_t callback) /**< callback routine */
-{
- /* Currently only one callback is supported */
- JERRY_ASSERT (JERRY_CONTEXT (jmem_free_unused_memory_callback) == NULL);
-
- JERRY_CONTEXT (jmem_free_unused_memory_callback) = callback;
-} /* jmem_register_free_unused_memory_callback */
-
-/**
- * Unregister specified 'try to give memory back' callback routine
- */
-void
-jmem_unregister_free_unused_memory_callback (jmem_free_unused_memory_callback_t callback) /**< callback routine */
-{
- /* Currently only one callback is supported */
- JERRY_ASSERT (JERRY_CONTEXT (jmem_free_unused_memory_callback) == callback);
-
- JERRY_CONTEXT (jmem_free_unused_memory_callback) = NULL;
-} /* jmem_unregister_free_unused_memory_callback */
-
-/**
- * Run 'try to give memory back' callbacks with specified severity
- */
-void
-jmem_run_free_unused_memory_callbacks (jmem_free_unused_memory_severity_t severity) /**< severity of the request */
-{
- if (JERRY_CONTEXT (jmem_free_unused_memory_callback) != NULL)
- {
- JERRY_CONTEXT (jmem_free_unused_memory_callback) (severity);
- }
-
- jmem_pools_collect_empty ();
-} /* jmem_run_free_unused_memory_callbacks */
-
#ifdef JMEM_STATS
/**
* Print memory usage statistics
*/
-void
+static void
jmem_stats_print (void)
{
jmem_heap_stats_print ();
@@ -278,3 +151,130 @@ jmem_stats_free_property_bytes (size_t property_size)
} /* jmem_stats_free_property_bytes */
#endif /* JMEM_STATS */
+
+/**
+ * Initialize memory allocators.
+ */
+void
+jmem_init (void)
+{
+ jmem_heap_init ();
+} /* jmem_init */
+
+/**
+ * Finalize memory allocators.
+ */
+void
+jmem_finalize (void)
+{
+ jmem_pools_finalize ();
+
+#ifdef JMEM_STATS
+ if (JERRY_CONTEXT (jerry_init_flags) & ECMA_INIT_MEM_STATS)
+ {
+ jmem_stats_print ();
+ }
+#endif /* JMEM_STATS */
+
+ jmem_heap_finalize ();
+} /* jmem_finalize */
+
+/**
+ * Compress pointer
+ *
+ * @return packed pointer
+ */
+inline jmem_cpointer_t JERRY_ATTR_PURE JERRY_ATTR_ALWAYS_INLINE
+jmem_compress_pointer (const void *pointer_p) /**< pointer to compress */
+{
+ JERRY_ASSERT (pointer_p != NULL);
+ JERRY_ASSERT (jmem_is_heap_pointer (pointer_p));
+
+ uintptr_t uint_ptr = (uintptr_t) pointer_p;
+
+ JERRY_ASSERT (uint_ptr % JMEM_ALIGNMENT == 0);
+
+#if defined (ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY) && defined (JERRY_CPOINTER_32_BIT)
+ JERRY_ASSERT (((jmem_cpointer_t) uint_ptr) == uint_ptr);
+#else /* !ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY || !JERRY_CPOINTER_32_BIT */
+ const uintptr_t heap_start = (uintptr_t) &JERRY_HEAP_CONTEXT (first);
+
+ uint_ptr -= heap_start;
+ uint_ptr >>= JMEM_ALIGNMENT_LOG;
+
+#ifdef JERRY_CPOINTER_32_BIT
+ JERRY_ASSERT (uint_ptr <= UINT32_MAX);
+#else /* !JERRY_CPOINTER_32_BIT */
+ JERRY_ASSERT (uint_ptr <= UINT16_MAX);
+#endif /* JERRY_CPOINTER_32_BIT */
+ JERRY_ASSERT (uint_ptr != JMEM_CP_NULL);
+#endif /* ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY && JERRY_CPOINTER_32_BIT */
+
+ return (jmem_cpointer_t) uint_ptr;
+} /* jmem_compress_pointer */
+
+/**
+ * Decompress pointer
+ *
+ * @return unpacked pointer
+ */
+inline void * JERRY_ATTR_PURE JERRY_ATTR_ALWAYS_INLINE
+jmem_decompress_pointer (uintptr_t compressed_pointer) /**< pointer to decompress */
+{
+ JERRY_ASSERT (compressed_pointer != JMEM_CP_NULL);
+
+ uintptr_t uint_ptr = compressed_pointer;
+
+ JERRY_ASSERT (((jmem_cpointer_t) uint_ptr) == uint_ptr);
+
+#if defined (ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY) && defined (JERRY_CPOINTER_32_BIT)
+ JERRY_ASSERT (uint_ptr % JMEM_ALIGNMENT == 0);
+#else /* !ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY || !JERRY_CPOINTER_32_BIT */
+ const uintptr_t heap_start = (uintptr_t) &JERRY_HEAP_CONTEXT (first);
+
+ uint_ptr <<= JMEM_ALIGNMENT_LOG;
+ uint_ptr += heap_start;
+
+ JERRY_ASSERT (jmem_is_heap_pointer ((void *) uint_ptr));
+#endif /* ECMA_VALUE_CAN_STORE_UINTPTR_VALUE_DIRECTLY && JERRY_CPOINTER_32_BIT */
+
+ return (void *) uint_ptr;
+} /* jmem_decompress_pointer */
+
+/**
+ * Register specified 'try to give memory back' callback routine
+ */
+void
+jmem_register_free_unused_memory_callback (jmem_free_unused_memory_callback_t callback) /**< callback routine */
+{
+ /* Currently only one callback is supported */
+ JERRY_ASSERT (JERRY_CONTEXT (jmem_free_unused_memory_callback) == NULL);
+
+ JERRY_CONTEXT (jmem_free_unused_memory_callback) = callback;
+} /* jmem_register_free_unused_memory_callback */
+
+/**
+ * Unregister specified 'try to give memory back' callback routine
+ */
+void
+jmem_unregister_free_unused_memory_callback (jmem_free_unused_memory_callback_t callback) /**< callback routine */
+{
+ /* Currently only one callback is supported */
+ JERRY_ASSERT (JERRY_CONTEXT (jmem_free_unused_memory_callback) == callback);
+
+ JERRY_CONTEXT (jmem_free_unused_memory_callback) = NULL;
+} /* jmem_unregister_free_unused_memory_callback */
+
+/**
+ * Run 'try to give memory back' callbacks with specified severity
+ */
+void
+jmem_run_free_unused_memory_callbacks (jmem_free_unused_memory_severity_t severity) /**< severity of the request */
+{
+ if (JERRY_CONTEXT (jmem_free_unused_memory_callback) != NULL)
+ {
+ JERRY_CONTEXT (jmem_free_unused_memory_callback) (severity);
+ }
+
+ jmem_pools_collect_empty ();
+} /* jmem_run_free_unused_memory_callbacks */
diff --git a/jerry-core/jmem/jmem.h b/jerry-core/jmem/jmem.h
index 206dba9c..a6caa093 100644
--- a/jerry-core/jmem/jmem.h
+++ b/jerry-core/jmem/jmem.h
@@ -151,7 +151,6 @@ typedef struct
size_t free_iter_count; /**< Number of iterations required for inserting free blocks */
} jmem_heap_stats_t;
-void jmem_stats_print (void);
void jmem_stats_allocate_byte_code_bytes (size_t property_size);
void jmem_stats_free_byte_code_bytes (size_t property_size);
void jmem_stats_allocate_string_bytes (size_t string_size);
diff --git a/jerry-core/lit/lit-char-helpers.c b/jerry-core/lit/lit-char-helpers.c
index cb790fc5..e0026ab6 100644
--- a/jerry-core/lit/lit-char-helpers.c
+++ b/jerry-core/lit/lit-char-helpers.c
@@ -102,20 +102,6 @@ search_char_in_interval_array (ecma_char_t c, /**< code unit */
} /* search_char_in_interval_array */
/**
- * Check if specified character is one of the Format-Control characters
- *
- * @return true - if the character is one of characters, listed in ECMA-262 v5, Table 1,
- * false - otherwise
- */
-bool
-lit_char_is_format_control (ecma_char_t c) /**< code unit */
-{
- return (c == LIT_CHAR_ZWNJ
- || c == LIT_CHAR_ZWJ
- || c == LIT_CHAR_BOM);
-} /* lit_char_is_format_control */
-
-/**
* Check if specified character is one of the Whitespace characters including those
* that fall into "Space, Separator" ("Zs") Unicode character category.
*
diff --git a/jerry-core/lit/lit-char-helpers.h b/jerry-core/lit/lit-char-helpers.h
index ae018c91..fdaec1d3 100644
--- a/jerry-core/lit/lit-char-helpers.h
+++ b/jerry-core/lit/lit-char-helpers.h
@@ -27,8 +27,6 @@
#define LIT_CHAR_ZWJ ((ecma_char_t) 0x200D) /* zero width joiner */
#define LIT_CHAR_BOM ((ecma_char_t) 0xFEFF) /* byte order mark */
-bool lit_char_is_format_control (ecma_char_t c);
-
/*
* Whitespace characters (ECMA-262 v5, Table 2)
*/
diff --git a/jerry-core/lit/lit-magic-strings.c b/jerry-core/lit/lit-magic-strings.c
index aee9837e..08cd5a41 100644
--- a/jerry-core/lit/lit-magic-strings.c
+++ b/jerry-core/lit/lit-magic-strings.c
@@ -81,7 +81,7 @@ lit_get_magic_string_size (lit_magic_string_id_t id) /**< magic string id */
*
* @return magic string id
*/
-lit_magic_string_id_t
+static lit_magic_string_id_t
lit_get_magic_string_size_block_start (lit_utf8_size_t size) /**< magic string size */
{
static const lit_magic_string_id_t lit_magic_string_size_block_starts[] JERRY_CONST_DATA =
diff --git a/jerry-core/lit/lit-magic-strings.h b/jerry-core/lit/lit-magic-strings.h
index c4a40107..8f31b974 100644
--- a/jerry-core/lit/lit-magic-strings.h
+++ b/jerry-core/lit/lit-magic-strings.h
@@ -52,7 +52,6 @@ uint32_t lit_get_magic_string_ex_count (void);
const lit_utf8_byte_t *lit_get_magic_string_utf8 (lit_magic_string_id_t id);
lit_utf8_size_t lit_get_magic_string_size (lit_magic_string_id_t id);
-lit_magic_string_id_t lit_get_magic_string_size_block_start (lit_utf8_size_t size);
const lit_utf8_byte_t *lit_get_magic_string_ex_utf8 (lit_magic_string_ex_id_t id);
lit_utf8_size_t lit_get_magic_string_ex_size (lit_magic_string_ex_id_t id);
diff --git a/jerry-core/parser/js/js-parser-internal.h b/jerry-core/parser/js/js-parser-internal.h
index f32c9f88..ae4ff030 100644
--- a/jerry-core/parser/js/js-parser-internal.h
+++ b/jerry-core/parser/js/js-parser-internal.h
@@ -514,7 +514,6 @@ void parser_raise_error (parser_context_t *context_p, parser_error_t error);
#ifdef JERRY_DEBUGGER
void parser_append_breakpoint_info (parser_context_t *context_p, jerry_debugger_header_type_t type, uint32_t value);
-void parser_send_breakpoints (parser_context_t *context_p, jerry_debugger_header_type_t type);
#endif /* JERRY_DEBUGGER */
diff --git a/jerry-core/parser/js/js-parser.c b/jerry-core/parser/js/js-parser.c
index 6771e6a3..f5d572bc 100644
--- a/jerry-core/parser/js/js-parser.c
+++ b/jerry-core/parser/js/js-parser.c
@@ -1356,6 +1356,48 @@ parse_print_final_cbc (ecma_compiled_code_t *compiled_code_p, /**< compiled code
#endif /* PARSER_DUMP_BYTE_CODE */
+#ifdef JERRY_DEBUGGER
+
+/**
+ * Send current breakpoint list.
+ */
+static void
+parser_send_breakpoints (parser_context_t *context_p, /**< context */
+ jerry_debugger_header_type_t type) /**< message type */
+{
+ JERRY_ASSERT (JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED);
+ JERRY_ASSERT (context_p->breakpoint_info_count > 0);
+
+ jerry_debugger_send_data (type,
+ context_p->breakpoint_info,
+ context_p->breakpoint_info_count * sizeof (parser_breakpoint_info_t));
+
+ context_p->breakpoint_info_count = 0;
+} /* parser_send_breakpoints */
+
+/**
+ * Append a breakpoint info.
+ */
+void
+parser_append_breakpoint_info (parser_context_t *context_p, /**< context */
+ jerry_debugger_header_type_t type, /**< message type */
+ uint32_t value) /**< line or offset of the breakpoint */
+{
+ JERRY_ASSERT (JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED);
+
+ context_p->status_flags |= PARSER_DEBUGGER_BREAKPOINT_APPENDED;
+
+ if (context_p->breakpoint_info_count >= JERRY_DEBUGGER_SEND_MAX (parser_breakpoint_info_t))
+ {
+ parser_send_breakpoints (context_p, type);
+ }
+
+ context_p->breakpoint_info[context_p->breakpoint_info_count].value = value;
+ context_p->breakpoint_info_count = (uint16_t) (context_p->breakpoint_info_count + 1);
+} /* parser_append_breakpoint_info */
+
+#endif /* JERRY_DEBUGGER */
+
/**
* Forward iterator: move to the next byte code
*
@@ -2803,48 +2845,6 @@ parser_raise_error (parser_context_t *context_p, /**< context */
JERRY_ASSERT (0);
} /* parser_raise_error */
-#ifdef JERRY_DEBUGGER
-
-/**
- * Append a breakpoint info.
- */
-void
-parser_append_breakpoint_info (parser_context_t *context_p, /**< context */
- jerry_debugger_header_type_t type, /**< message type */
- uint32_t value) /**< line or offset of the breakpoint */
-{
- JERRY_ASSERT (JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED);
-
- context_p->status_flags |= PARSER_DEBUGGER_BREAKPOINT_APPENDED;
-
- if (context_p->breakpoint_info_count >= JERRY_DEBUGGER_SEND_MAX (parser_breakpoint_info_t))
- {
- parser_send_breakpoints (context_p, type);
- }
-
- context_p->breakpoint_info[context_p->breakpoint_info_count].value = value;
- context_p->breakpoint_info_count = (uint16_t) (context_p->breakpoint_info_count + 1);
-} /* parser_append_breakpoint_info */
-
-/**
- * Send current breakpoint list.
- */
-void
-parser_send_breakpoints (parser_context_t *context_p, /**< context */
- jerry_debugger_header_type_t type) /**< message type */
-{
- JERRY_ASSERT (JERRY_CONTEXT (debugger_flags) & JERRY_DEBUGGER_CONNECTED);
- JERRY_ASSERT (context_p->breakpoint_info_count > 0);
-
- jerry_debugger_send_data (type,
- context_p->breakpoint_info,
- context_p->breakpoint_info_count * sizeof (parser_breakpoint_info_t));
-
- context_p->breakpoint_info_count = 0;
-} /* parser_send_breakpoints */
-
-#endif /* JERRY_DEBUGGER */
-
#endif /* !JERRY_DISABLE_JS_PARSER */
/**