mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
Move char type definitions and magic string processing functions to literal component.
JerryScript-DCO-1.0-Signed-off-by: Andrey Shitov a.shitov@samsung.com
This commit is contained in:
parent
07148d319b
commit
a0c5974ab8
@ -25,6 +25,8 @@
|
|||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "jrt.h"
|
#include "jrt.h"
|
||||||
|
#include "lit-globals.h"
|
||||||
|
#include "lit-magic-strings.h"
|
||||||
#include "mem-allocator.h"
|
#include "mem-allocator.h"
|
||||||
#include "rcs-recordset.h"
|
#include "rcs-recordset.h"
|
||||||
|
|
||||||
@ -566,24 +568,6 @@ typedef struct
|
|||||||
bool is_configurable;
|
bool is_configurable;
|
||||||
} ecma_property_descriptor_t;
|
} ecma_property_descriptor_t;
|
||||||
|
|
||||||
#if CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_ASCII
|
|
||||||
/**
|
|
||||||
* Description of an ecma-character
|
|
||||||
*/
|
|
||||||
typedef uint8_t ecma_char_t;
|
|
||||||
#elif CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_UTF16
|
|
||||||
/**
|
|
||||||
* Description of an ecma-character
|
|
||||||
*/
|
|
||||||
typedef uint16_t ecma_char_t;
|
|
||||||
#endif /* CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_UTF16 */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Description of an ecma-character pointer
|
|
||||||
*/
|
|
||||||
typedef ecma_char_t* ecma_char_ptr_t;
|
|
||||||
|
|
||||||
|
|
||||||
#if CONFIG_ECMA_NUMBER_TYPE == CONFIG_ECMA_NUMBER_FLOAT32
|
#if CONFIG_ECMA_NUMBER_TYPE == CONFIG_ECMA_NUMBER_FLOAT32
|
||||||
/**
|
/**
|
||||||
* Description of an ecma-number
|
* Description of an ecma-number
|
||||||
@ -689,11 +673,6 @@ typedef double ecma_number_t;
|
|||||||
*/
|
*/
|
||||||
#define ECMA_NUMBER_SQRT2 ((ecma_number_t)1.4142135623730951)
|
#define ECMA_NUMBER_SQRT2 ((ecma_number_t)1.4142135623730951)
|
||||||
|
|
||||||
/**
|
|
||||||
* Null character (zt-string end marker)
|
|
||||||
*/
|
|
||||||
#define ECMA_CHAR_NULL ((ecma_char_t) '\0')
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maximum number of characters in string representation of ecma-number
|
* Maximum number of characters in string representation of ecma-number
|
||||||
*/
|
*/
|
||||||
@ -712,11 +691,6 @@ typedef double ecma_number_t;
|
|||||||
*/
|
*/
|
||||||
#define ECMA_MAX_VALUE_OF_VALID_ARRAY_INDEX ((uint32_t) (-1))
|
#define ECMA_MAX_VALUE_OF_VALID_ARRAY_INDEX ((uint32_t) (-1))
|
||||||
|
|
||||||
/**
|
|
||||||
* Description of a collection's/string's length
|
|
||||||
*/
|
|
||||||
typedef uint16_t ecma_length_t;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description of a collection's header.
|
* Description of a collection's header.
|
||||||
*/
|
*/
|
||||||
@ -768,39 +742,6 @@ FIXME (Move to library that should define the type (literal.h /* ? */))
|
|||||||
typedef rcs_record_t *literal_t;
|
typedef rcs_record_t *literal_t;
|
||||||
typedef rcs_cpointer_t lit_cpointer_t;
|
typedef rcs_cpointer_t lit_cpointer_t;
|
||||||
|
|
||||||
/**
|
|
||||||
* Identifiers of ECMA and implementation-defined magic string constants
|
|
||||||
*/
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
#define ECMA_MAGIC_STRING_DEF(id, ascii_zt_string) \
|
|
||||||
id,
|
|
||||||
#include "ecma-magic-strings.inc.h"
|
|
||||||
#undef ECMA_MAGIC_STRING_DEF
|
|
||||||
|
|
||||||
ECMA_MAGIC_STRING__COUNT /**< number of magic strings */
|
|
||||||
} ecma_magic_string_id_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Identifiers of implementation-defined external magic string constants
|
|
||||||
*/
|
|
||||||
typedef uint32_t ecma_magic_string_ex_id_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* ECMA string hash
|
|
||||||
*/
|
|
||||||
typedef uint8_t ecma_string_hash_t;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Length of string hash, in bits
|
|
||||||
*/
|
|
||||||
#define ECMA_STRING_HASH_BITS (sizeof (ecma_string_hash_t) * JERRY_BITSINBYTE)
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Number of string's last characters to use for hash calculation
|
|
||||||
*/
|
|
||||||
#define ECMA_STRING_HASH_LAST_CHARS_COUNT (2)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ECMA string-value descriptor
|
* ECMA string-value descriptor
|
||||||
*/
|
*/
|
||||||
@ -817,7 +758,7 @@ typedef struct ecma_string_t
|
|||||||
uint8_t container;
|
uint8_t container;
|
||||||
|
|
||||||
/** Hash of the string (calculated from two last characters of the string) */
|
/** Hash of the string (calculated from two last characters of the string) */
|
||||||
ecma_string_hash_t hash;
|
lit_string_hash_t hash;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Actual data or identifier of it's place in container (depending on 'container' field)
|
* Actual data or identifier of it's place in container (depending on 'container' field)
|
||||||
@ -844,10 +785,10 @@ typedef struct ecma_string_t
|
|||||||
} concatenation;
|
} concatenation;
|
||||||
|
|
||||||
/** Identifier of magic string */
|
/** Identifier of magic string */
|
||||||
ecma_magic_string_id_t magic_string_id;
|
lit_magic_string_id_t magic_string_id;
|
||||||
|
|
||||||
/** Identifier of external magic string */
|
/** Identifier of external magic string */
|
||||||
ecma_magic_string_ex_id_t magic_string_ex_id;
|
lit_magic_string_ex_id_t magic_string_ex_id;
|
||||||
|
|
||||||
/** For zeroing and comparison in some cases */
|
/** For zeroing and comparison in some cases */
|
||||||
uint32_t common_field;
|
uint32_t common_field;
|
||||||
|
|||||||
@ -438,7 +438,7 @@ ecma_zt_string_to_number (const ecma_char_t *str_p) /**< zero-terminated string
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Checking if significant part of parse string is equal to "Infinity" */
|
/* Checking if significant part of parse string is equal to "Infinity" */
|
||||||
const ecma_char_t *infinity_zt_str_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_INFINITY_UL);
|
const ecma_char_t *infinity_zt_str_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_INFINITY_UL);
|
||||||
|
|
||||||
for (const ecma_char_t *iter_p = begin_p, *iter_infinity_p = infinity_zt_str_p;
|
for (const ecma_char_t *iter_p = begin_p, *iter_infinity_p = infinity_zt_str_p;
|
||||||
;
|
;
|
||||||
@ -1315,7 +1315,7 @@ ecma_number_to_zt_string (ecma_number_t num, /**< ecma-number */
|
|||||||
if (ecma_number_is_nan (num))
|
if (ecma_number_is_nan (num))
|
||||||
{
|
{
|
||||||
// 1.
|
// 1.
|
||||||
ecma_copy_zt_string_to_buffer (ecma_get_magic_string_zt (ECMA_MAGIC_STRING_NAN),
|
ecma_copy_zt_string_to_buffer (lit_get_magic_string_zt (LIT_MAGIC_STRING_NAN),
|
||||||
buffer_p,
|
buffer_p,
|
||||||
buffer_size);
|
buffer_size);
|
||||||
}
|
}
|
||||||
@ -1341,7 +1341,7 @@ ecma_number_to_zt_string (ecma_number_t num, /**< ecma-number */
|
|||||||
else if (ecma_number_is_infinity (num))
|
else if (ecma_number_is_infinity (num))
|
||||||
{
|
{
|
||||||
// 4.
|
// 4.
|
||||||
ecma_copy_zt_string_to_buffer (ecma_get_magic_string_zt (ECMA_MAGIC_STRING_INFINITY_UL),
|
ecma_copy_zt_string_to_buffer (lit_get_magic_string_zt (LIT_MAGIC_STRING_INFINITY_UL),
|
||||||
buffer_p,
|
buffer_p,
|
||||||
buffer_size);
|
buffer_size);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@
|
|||||||
/**
|
/**
|
||||||
* Limit for magic string length
|
* Limit for magic string length
|
||||||
*/
|
*/
|
||||||
#define ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT 32
|
#define LIT_MAGIC_STRING_LENGTH_LIMIT 32
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The length should be representable with int32_t.
|
* The length should be representable with int32_t.
|
||||||
@ -46,37 +46,18 @@
|
|||||||
JERRY_STATIC_ASSERT ((uint32_t) ((int32_t) ECMA_STRING_MAX_CONCATENATION_LENGTH) ==
|
JERRY_STATIC_ASSERT ((uint32_t) ((int32_t) ECMA_STRING_MAX_CONCATENATION_LENGTH) ==
|
||||||
ECMA_STRING_MAX_CONCATENATION_LENGTH);
|
ECMA_STRING_MAX_CONCATENATION_LENGTH);
|
||||||
|
|
||||||
/**
|
|
||||||
* Lengths of magic strings
|
|
||||||
*/
|
|
||||||
static ecma_length_t ecma_magic_string_lengths[ECMA_MAGIC_STRING__COUNT];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* External magic strings data array, count and lengths
|
|
||||||
*/
|
|
||||||
static const ecma_char_ptr_t* ecma_magic_string_ex_array = NULL;
|
|
||||||
static uint32_t ecma_magic_string_ex_count = 0;
|
|
||||||
static const ecma_length_t* ecma_magic_string_ex_lengths = NULL;
|
|
||||||
|
|
||||||
#ifndef JERRY_NDEBUG
|
|
||||||
/**
|
|
||||||
* Maximum length among lengths of magic strings
|
|
||||||
*/
|
|
||||||
static ecma_length_t ecma_magic_string_max_length;
|
|
||||||
#endif /* !JERRY_NDEBUG */
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ecma_init_ecma_string_from_lit_cp (ecma_string_t *string_p,
|
ecma_init_ecma_string_from_lit_cp (ecma_string_t *string_p,
|
||||||
lit_cpointer_t lit_index,
|
lit_cpointer_t lit_index,
|
||||||
bool is_stack_var);
|
bool is_stack_var);
|
||||||
static void
|
static void
|
||||||
ecma_init_ecma_string_from_magic_string_id (ecma_string_t *string_p,
|
ecma_init_ecma_string_from_magic_string_id (ecma_string_t *string_p,
|
||||||
ecma_magic_string_id_t magic_string_id,
|
lit_magic_string_id_t magic_string_id,
|
||||||
bool is_stack_var);
|
bool is_stack_var);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ecma_init_ecma_string_from_magic_string_ex_id (ecma_string_t *string_p,
|
ecma_init_ecma_string_from_magic_string_ex_id (ecma_string_t *string_p,
|
||||||
ecma_magic_string_ex_id_t magic_string_ex_id,
|
lit_magic_string_ex_id_t magic_string_ex_id,
|
||||||
bool is_stack_var);
|
bool is_stack_var);
|
||||||
/**
|
/**
|
||||||
* Allocate a collection of ecma-chars.
|
* Allocate a collection of ecma-chars.
|
||||||
@ -281,91 +262,6 @@ ecma_free_chars_collection (ecma_collection_header_t* collection_p) /**< collect
|
|||||||
ecma_dealloc_collection_header (collection_p);
|
ecma_dealloc_collection_header (collection_p);
|
||||||
} /* ecma_free_chars_collection */
|
} /* ecma_free_chars_collection */
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize data for string helpers
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
ecma_strings_init (void)
|
|
||||||
{
|
|
||||||
/* Initializing magic strings information */
|
|
||||||
|
|
||||||
#ifndef JERRY_NDEBUG
|
|
||||||
ecma_magic_string_max_length = 0;
|
|
||||||
#endif /* !JERRY_NDEBUG */
|
|
||||||
|
|
||||||
for (ecma_magic_string_id_t id = (ecma_magic_string_id_t) 0;
|
|
||||||
id < ECMA_MAGIC_STRING__COUNT;
|
|
||||||
id = (ecma_magic_string_id_t) (id + 1))
|
|
||||||
{
|
|
||||||
ecma_magic_string_lengths[id] = ecma_zt_string_length (ecma_get_magic_string_zt (id));
|
|
||||||
|
|
||||||
#ifndef JERRY_NDEBUG
|
|
||||||
ecma_magic_string_max_length = JERRY_MAX (ecma_magic_string_max_length, ecma_magic_string_lengths[id]);
|
|
||||||
|
|
||||||
JERRY_ASSERT (ecma_magic_string_max_length <= ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT);
|
|
||||||
#endif /* !JERRY_NDEBUG */
|
|
||||||
}
|
|
||||||
} /* ecma_strings_init */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialize external magic strings
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
ecma_strings_ex_init (void)
|
|
||||||
{
|
|
||||||
ecma_magic_string_ex_array = NULL;
|
|
||||||
ecma_magic_string_ex_count = 0;
|
|
||||||
ecma_magic_string_ex_lengths = NULL;
|
|
||||||
} /* ecma_strings_ex_init */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Register external magic strings
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
ecma_strings_ex_set (const ecma_char_ptr_t* ex_str_items, /**< character arrays, representing
|
|
||||||
* external magic strings' contents */
|
|
||||||
uint32_t count, /**< number of the strings */
|
|
||||||
const ecma_length_t* ex_str_lengths) /**< lengths of the strings */
|
|
||||||
{
|
|
||||||
JERRY_ASSERT (ex_str_items != NULL);
|
|
||||||
JERRY_ASSERT (count > 0);
|
|
||||||
JERRY_ASSERT (ex_str_lengths != NULL);
|
|
||||||
|
|
||||||
JERRY_ASSERT (ecma_magic_string_ex_array == NULL);
|
|
||||||
JERRY_ASSERT (ecma_magic_string_ex_count == 0);
|
|
||||||
JERRY_ASSERT (ecma_magic_string_ex_lengths == NULL);
|
|
||||||
|
|
||||||
/* Set external magic strings information */
|
|
||||||
ecma_magic_string_ex_array = ex_str_items;
|
|
||||||
ecma_magic_string_ex_count = count;
|
|
||||||
ecma_magic_string_ex_lengths = ex_str_lengths;
|
|
||||||
|
|
||||||
#ifndef JERRY_NDEBUG
|
|
||||||
for (ecma_magic_string_ex_id_t id = (ecma_magic_string_ex_id_t) 0;
|
|
||||||
id < ecma_magic_string_ex_count;
|
|
||||||
id = (ecma_magic_string_ex_id_t) (id + 1))
|
|
||||||
{
|
|
||||||
JERRY_ASSERT (ecma_magic_string_ex_lengths[id] == ecma_zt_string_length (ecma_get_magic_string_ex_zt (id)));
|
|
||||||
|
|
||||||
ecma_magic_string_max_length = JERRY_MAX (ecma_magic_string_max_length, ecma_magic_string_ex_lengths[id]);
|
|
||||||
|
|
||||||
JERRY_ASSERT (ecma_magic_string_max_length <= ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT);
|
|
||||||
}
|
|
||||||
#endif /* !JERRY_NDEBUG */
|
|
||||||
} /* ecma_strings_ex_init */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get number of external magic strings
|
|
||||||
*
|
|
||||||
* @return number of the strings, if there were registered,
|
|
||||||
* zero - otherwise.
|
|
||||||
*/
|
|
||||||
uint32_t
|
|
||||||
ecma_get_magic_string_ex_count (void)
|
|
||||||
{
|
|
||||||
return ecma_magic_string_ex_count;
|
|
||||||
} /* ecma_get_magic_string_ex_count */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize ecma-string descriptor with string described by index in literal table
|
* Initialize ecma-string descriptor with string described by index in literal table
|
||||||
*/
|
*/
|
||||||
@ -412,7 +308,7 @@ ecma_init_ecma_string_from_lit_cp (ecma_string_t *string_p, /**< descriptor to i
|
|||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
ecma_init_ecma_string_from_magic_string_id (ecma_string_t *string_p, /**< descriptor to initialize */
|
ecma_init_ecma_string_from_magic_string_id (ecma_string_t *string_p, /**< descriptor to initialize */
|
||||||
ecma_magic_string_id_t magic_string_id, /**< identifier of
|
lit_magic_string_id_t magic_string_id, /**< identifier of
|
||||||
the magic string */
|
the magic string */
|
||||||
bool is_stack_var) /**< flag indicating whether the string descriptor
|
bool is_stack_var) /**< flag indicating whether the string descriptor
|
||||||
is placed on stack (true) or in the heap (false) */
|
is placed on stack (true) or in the heap (false) */
|
||||||
@ -424,8 +320,8 @@ ecma_init_ecma_string_from_magic_string_id (ecma_string_t *string_p, /**< descri
|
|||||||
string_p->refs = 1;
|
string_p->refs = 1;
|
||||||
string_p->is_stack_var = (is_stack_var != 0);
|
string_p->is_stack_var = (is_stack_var != 0);
|
||||||
string_p->container = ECMA_STRING_CONTAINER_MAGIC_STRING;
|
string_p->container = ECMA_STRING_CONTAINER_MAGIC_STRING;
|
||||||
string_p->hash = ecma_chars_buffer_calc_hash_last_chars (ecma_get_magic_string_zt (magic_string_id),
|
string_p->hash = ecma_chars_buffer_calc_hash_last_chars (lit_get_magic_string_zt (magic_string_id),
|
||||||
ecma_magic_string_lengths[magic_string_id]);
|
lit_get_magic_string_length (magic_string_id));
|
||||||
|
|
||||||
string_p->u.common_field = 0;
|
string_p->u.common_field = 0;
|
||||||
string_p->u.magic_string_id = magic_string_id;
|
string_p->u.magic_string_id = magic_string_id;
|
||||||
@ -436,7 +332,7 @@ ecma_init_ecma_string_from_magic_string_id (ecma_string_t *string_p, /**< descri
|
|||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
ecma_init_ecma_string_from_magic_string_ex_id (ecma_string_t *string_p, /**< descriptor to initialize */
|
ecma_init_ecma_string_from_magic_string_ex_id (ecma_string_t *string_p, /**< descriptor to initialize */
|
||||||
ecma_magic_string_ex_id_t magic_string_ex_id, /**< identifier of
|
lit_magic_string_ex_id_t magic_string_ex_id, /**< identifier of
|
||||||
the external magic string */
|
the external magic string */
|
||||||
bool is_stack_var) /**< flag indicating whether the string descriptor
|
bool is_stack_var) /**< flag indicating whether the string descriptor
|
||||||
is placed on stack (true) or in the heap (false) */
|
is placed on stack (true) or in the heap (false) */
|
||||||
@ -448,8 +344,8 @@ ecma_init_ecma_string_from_magic_string_ex_id (ecma_string_t *string_p, /**< des
|
|||||||
string_p->refs = 1;
|
string_p->refs = 1;
|
||||||
string_p->is_stack_var = (is_stack_var != 0);
|
string_p->is_stack_var = (is_stack_var != 0);
|
||||||
string_p->container = ECMA_STRING_CONTAINER_MAGIC_STRING_EX;
|
string_p->container = ECMA_STRING_CONTAINER_MAGIC_STRING_EX;
|
||||||
string_p->hash = ecma_chars_buffer_calc_hash_last_chars (ecma_get_magic_string_ex_zt (magic_string_ex_id),
|
string_p->hash = ecma_chars_buffer_calc_hash_last_chars (lit_get_magic_string_ex_zt (magic_string_ex_id),
|
||||||
ecma_magic_string_ex_lengths[magic_string_ex_id]);
|
lit_get_magic_string_ex_length (magic_string_ex_id));
|
||||||
|
|
||||||
string_p->u.common_field = 0;
|
string_p->u.common_field = 0;
|
||||||
string_p->u.magic_string_ex_id = magic_string_ex_id;
|
string_p->u.magic_string_ex_id = magic_string_ex_id;
|
||||||
@ -474,15 +370,15 @@ ecma_new_ecma_string (const ecma_char_t *string_p, /**< input string */
|
|||||||
memcpy (zt_str_p, string_p, length * sizeof (ecma_char_t));
|
memcpy (zt_str_p, string_p, length * sizeof (ecma_char_t));
|
||||||
zt_str_p[length] = 0;
|
zt_str_p[length] = 0;
|
||||||
|
|
||||||
ecma_magic_string_id_t magic_string_id;
|
lit_magic_string_id_t magic_string_id;
|
||||||
if (ecma_is_zt_string_magic (zt_str_p, &magic_string_id))
|
if (lit_is_zt_string_magic (zt_str_p, &magic_string_id))
|
||||||
{
|
{
|
||||||
mem_heap_free_block (zt_str_p);
|
mem_heap_free_block (zt_str_p);
|
||||||
return ecma_get_magic_string (magic_string_id);
|
return ecma_get_magic_string (magic_string_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_magic_string_ex_id_t magic_string_ex_id;
|
lit_magic_string_ex_id_t magic_string_ex_id;
|
||||||
if (ecma_is_zt_ex_string_magic (zt_str_p, &magic_string_ex_id))
|
if (lit_is_zt_ex_string_magic (zt_str_p, &magic_string_ex_id))
|
||||||
{
|
{
|
||||||
mem_heap_free_block (zt_str_p);
|
mem_heap_free_block (zt_str_p);
|
||||||
return ecma_get_magic_string_ex (magic_string_ex_id);
|
return ecma_get_magic_string_ex (magic_string_ex_id);
|
||||||
@ -513,14 +409,14 @@ ecma_new_ecma_string (const ecma_char_t *string_p) /**< zero-terminated string *
|
|||||||
{
|
{
|
||||||
JERRY_ASSERT (string_p != NULL);
|
JERRY_ASSERT (string_p != NULL);
|
||||||
|
|
||||||
ecma_magic_string_id_t magic_string_id;
|
lit_magic_string_id_t magic_string_id;
|
||||||
if (ecma_is_zt_string_magic (string_p, &magic_string_id))
|
if (lit_is_zt_string_magic (string_p, &magic_string_id))
|
||||||
{
|
{
|
||||||
return ecma_get_magic_string (magic_string_id);
|
return ecma_get_magic_string (magic_string_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_magic_string_ex_id_t magic_string_ex_id;
|
lit_magic_string_ex_id_t magic_string_ex_id;
|
||||||
if (ecma_is_zt_ex_string_magic (string_p, &magic_string_ex_id))
|
if (lit_is_zt_ex_string_magic (string_p, &magic_string_ex_id))
|
||||||
{
|
{
|
||||||
return ecma_get_magic_string_ex (magic_string_ex_id);
|
return ecma_get_magic_string_ex (magic_string_ex_id);
|
||||||
}
|
}
|
||||||
@ -556,7 +452,7 @@ ecma_new_ecma_string_from_uint32 (uint32_t uint32_number) /**< UInt32-represente
|
|||||||
FIXME (/* Use digit to char conversion routine */);
|
FIXME (/* Use digit to char conversion routine */);
|
||||||
const ecma_char_t digits[10] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
|
const ecma_char_t digits[10] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9' };
|
||||||
const bool is_one_char_or_more = (uint32_number >= 10);
|
const bool is_one_char_or_more = (uint32_number >= 10);
|
||||||
const ecma_char_t last_chars[ECMA_STRING_HASH_LAST_CHARS_COUNT] =
|
const ecma_char_t last_chars[LIT_STRING_HASH_LAST_BYTES_COUNT] =
|
||||||
{
|
{
|
||||||
is_one_char_or_more ? digits[digit_pl] : digits[digit_l],
|
is_one_char_or_more ? digits[digit_pl] : digits[digit_l],
|
||||||
is_one_char_or_more ? digits[digit_l] : ECMA_CHAR_NULL
|
is_one_char_or_more ? digits[digit_l] : ECMA_CHAR_NULL
|
||||||
@ -602,8 +498,8 @@ ecma_new_ecma_string_from_number (ecma_number_t num) /**< ecma-number */
|
|||||||
str_buf,
|
str_buf,
|
||||||
sizeof (str_buf));
|
sizeof (str_buf));
|
||||||
|
|
||||||
ecma_magic_string_id_t magic_string_id;
|
lit_magic_string_id_t magic_string_id;
|
||||||
if (ecma_is_zt_string_magic (str_buf, &magic_string_id))
|
if (lit_is_zt_string_magic (str_buf, &magic_string_id))
|
||||||
{
|
{
|
||||||
return ecma_get_magic_string (magic_string_id);
|
return ecma_get_magic_string (magic_string_id);
|
||||||
}
|
}
|
||||||
@ -655,7 +551,7 @@ ecma_new_ecma_string_from_lit_cp (lit_cpointer_t lit_cp) /**< index in the liter
|
|||||||
void
|
void
|
||||||
ecma_new_ecma_string_on_stack_from_magic_string_id (ecma_string_t *string_p, /**< pointer to the ecma-string
|
ecma_new_ecma_string_on_stack_from_magic_string_id (ecma_string_t *string_p, /**< pointer to the ecma-string
|
||||||
descriptor to initialize */
|
descriptor to initialize */
|
||||||
ecma_magic_string_id_t id) /**< magic string id */
|
lit_magic_string_id_t id) /**< magic string id */
|
||||||
{
|
{
|
||||||
ecma_init_ecma_string_from_magic_string_id (string_p, id, true);
|
ecma_init_ecma_string_from_magic_string_id (string_p, id, true);
|
||||||
} /* ecma_new_ecma_string_on_stack_from_magic_string_id */
|
} /* ecma_new_ecma_string_on_stack_from_magic_string_id */
|
||||||
@ -666,9 +562,9 @@ ecma_new_ecma_string_on_stack_from_magic_string_id (ecma_string_t *string_p, /**
|
|||||||
* @return pointer to ecma-string descriptor
|
* @return pointer to ecma-string descriptor
|
||||||
*/
|
*/
|
||||||
ecma_string_t*
|
ecma_string_t*
|
||||||
ecma_new_ecma_string_from_magic_string_id (ecma_magic_string_id_t id) /**< identifier of magic string */
|
ecma_new_ecma_string_from_magic_string_id (lit_magic_string_id_t id) /**< identifier of magic string */
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (id < ECMA_MAGIC_STRING__COUNT);
|
JERRY_ASSERT (id < LIT_MAGIC_STRING__COUNT);
|
||||||
|
|
||||||
ecma_string_t* string_desc_p = ecma_alloc_string ();
|
ecma_string_t* string_desc_p = ecma_alloc_string ();
|
||||||
ecma_init_ecma_string_from_magic_string_id (string_desc_p, id, false);
|
ecma_init_ecma_string_from_magic_string_id (string_desc_p, id, false);
|
||||||
@ -682,9 +578,9 @@ ecma_new_ecma_string_from_magic_string_id (ecma_magic_string_id_t id) /**< ident
|
|||||||
* @return pointer to ecma-string descriptor
|
* @return pointer to ecma-string descriptor
|
||||||
*/
|
*/
|
||||||
ecma_string_t*
|
ecma_string_t*
|
||||||
ecma_new_ecma_string_from_magic_string_ex_id (ecma_magic_string_ex_id_t id) /**< identifier of externl magic string */
|
ecma_new_ecma_string_from_magic_string_ex_id (lit_magic_string_ex_id_t id) /**< identifier of externl magic string */
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (id < ecma_magic_string_ex_count);
|
JERRY_ASSERT (id < ecma_get_magic_string_ex_count ());
|
||||||
|
|
||||||
ecma_string_t* string_desc_p = ecma_alloc_string ();
|
ecma_string_t* string_desc_p = ecma_alloc_string ();
|
||||||
ecma_init_ecma_string_from_magic_string_ex_id (string_desc_p, id, false);
|
ecma_init_ecma_string_from_magic_string_ex_id (string_desc_p, id, false);
|
||||||
@ -737,22 +633,22 @@ ecma_concat_ecma_strings (ecma_string_t *string1_p, /**< first ecma-string */
|
|||||||
ECMA_SET_NON_NULL_POINTER (string_desc_p->u.concatenation.string1_cp, string1_p);
|
ECMA_SET_NON_NULL_POINTER (string_desc_p->u.concatenation.string1_cp, string1_p);
|
||||||
ECMA_SET_NON_NULL_POINTER (string_desc_p->u.concatenation.string2_cp, string2_p);
|
ECMA_SET_NON_NULL_POINTER (string_desc_p->u.concatenation.string2_cp, string2_p);
|
||||||
|
|
||||||
if (str2_len >= ECMA_STRING_HASH_LAST_CHARS_COUNT)
|
if (str2_len >= LIT_STRING_HASH_LAST_BYTES_COUNT)
|
||||||
{
|
{
|
||||||
string_desc_p->hash = string2_p->hash;
|
string_desc_p->hash = string2_p->hash;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
JERRY_STATIC_ASSERT (ECMA_STRING_HASH_LAST_CHARS_COUNT == 2);
|
JERRY_STATIC_ASSERT (LIT_STRING_HASH_LAST_BYTES_COUNT == 2);
|
||||||
JERRY_ASSERT (str2_len == 1);
|
JERRY_ASSERT (str2_len == 1);
|
||||||
|
|
||||||
ecma_char_t chars_buf[ECMA_STRING_HASH_LAST_CHARS_COUNT] =
|
ecma_char_t chars_buf[LIT_STRING_HASH_LAST_BYTES_COUNT] =
|
||||||
{
|
{
|
||||||
ecma_string_get_char_at_pos (string1_p, str1_len - 1u),
|
ecma_string_get_char_at_pos (string1_p, str1_len - 1u),
|
||||||
ecma_string_get_char_at_pos (string2_p, 0)
|
ecma_string_get_char_at_pos (string2_p, 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
string_desc_p->hash = ecma_chars_buffer_calc_hash_last_chars (chars_buf, ECMA_STRING_HASH_LAST_CHARS_COUNT);
|
string_desc_p->hash = ecma_chars_buffer_calc_hash_last_chars (chars_buf, LIT_STRING_HASH_LAST_BYTES_COUNT);
|
||||||
}
|
}
|
||||||
|
|
||||||
return string_desc_p;
|
return string_desc_p;
|
||||||
@ -1127,12 +1023,12 @@ ecma_string_to_zt_string (const ecma_string_t *string_desc_p, /**< ecma-string d
|
|||||||
}
|
}
|
||||||
case ECMA_STRING_CONTAINER_MAGIC_STRING:
|
case ECMA_STRING_CONTAINER_MAGIC_STRING:
|
||||||
{
|
{
|
||||||
const ecma_magic_string_id_t id = string_desc_p->u.magic_string_id;
|
const lit_magic_string_id_t id = string_desc_p->u.magic_string_id;
|
||||||
const size_t length = ecma_magic_string_lengths[id];
|
const size_t length = lit_get_magic_string_length (id);
|
||||||
|
|
||||||
size_t bytes_to_copy = (length + 1) * sizeof (ecma_char_t);
|
size_t bytes_to_copy = (length + 1) * sizeof (ecma_char_t);
|
||||||
|
|
||||||
memcpy (buffer_p, ecma_get_magic_string_zt (id), bytes_to_copy);
|
memcpy (buffer_p, lit_get_magic_string_zt (id), bytes_to_copy);
|
||||||
|
|
||||||
JERRY_ASSERT (required_buffer_size == (ssize_t) bytes_to_copy);
|
JERRY_ASSERT (required_buffer_size == (ssize_t) bytes_to_copy);
|
||||||
|
|
||||||
@ -1140,12 +1036,12 @@ ecma_string_to_zt_string (const ecma_string_t *string_desc_p, /**< ecma-string d
|
|||||||
}
|
}
|
||||||
case ECMA_STRING_CONTAINER_MAGIC_STRING_EX:
|
case ECMA_STRING_CONTAINER_MAGIC_STRING_EX:
|
||||||
{
|
{
|
||||||
const ecma_magic_string_ex_id_t id = string_desc_p->u.magic_string_ex_id;
|
const lit_magic_string_ex_id_t id = string_desc_p->u.magic_string_ex_id;
|
||||||
const size_t length = ecma_magic_string_ex_lengths[id];
|
const size_t length = lit_get_magic_string_ex_length (id);
|
||||||
|
|
||||||
size_t bytes_to_copy = (length + 1) * sizeof (ecma_char_t);
|
size_t bytes_to_copy = (length + 1) * sizeof (ecma_char_t);
|
||||||
|
|
||||||
memcpy (buffer_p, ecma_get_magic_string_ex_zt (id), bytes_to_copy);
|
memcpy (buffer_p, lit_get_magic_string_ex_zt (id), bytes_to_copy);
|
||||||
|
|
||||||
JERRY_ASSERT (required_buffer_size == (ssize_t) bytes_to_copy);
|
JERRY_ASSERT (required_buffer_size == (ssize_t) bytes_to_copy);
|
||||||
|
|
||||||
@ -1465,11 +1361,11 @@ ecma_string_get_length (const ecma_string_t *string_p) /**< ecma-string */
|
|||||||
}
|
}
|
||||||
else if (container == ECMA_STRING_CONTAINER_MAGIC_STRING)
|
else if (container == ECMA_STRING_CONTAINER_MAGIC_STRING)
|
||||||
{
|
{
|
||||||
return ecma_magic_string_lengths[string_p->u.magic_string_id];
|
return lit_get_magic_string_length (string_p->u.magic_string_id);
|
||||||
}
|
}
|
||||||
else if (container == ECMA_STRING_CONTAINER_MAGIC_STRING_EX)
|
else if (container == ECMA_STRING_CONTAINER_MAGIC_STRING_EX)
|
||||||
{
|
{
|
||||||
return ecma_magic_string_ex_lengths[string_p->u.magic_string_ex_id];
|
return lit_get_magic_string_ex_length (string_p->u.magic_string_ex_id);
|
||||||
}
|
}
|
||||||
else if (container == ECMA_STRING_CONTAINER_UINT32_IN_DESC)
|
else if (container == ECMA_STRING_CONTAINER_UINT32_IN_DESC)
|
||||||
{
|
{
|
||||||
@ -1755,55 +1651,13 @@ ecma_zt_string_length (const ecma_char_t *string_p) /**< zero-terminated string
|
|||||||
return length;
|
return length;
|
||||||
} /* ecma_zt_string_length */
|
} /* ecma_zt_string_length */
|
||||||
|
|
||||||
/**
|
|
||||||
* Get specified magic string as zero-terminated string
|
|
||||||
*
|
|
||||||
* @return pointer to zero-terminated magic string
|
|
||||||
*/
|
|
||||||
const ecma_char_t*
|
|
||||||
ecma_get_magic_string_zt (ecma_magic_string_id_t id) /**< magic string id */
|
|
||||||
{
|
|
||||||
TODO (Support UTF-16);
|
|
||||||
|
|
||||||
switch (id)
|
|
||||||
{
|
|
||||||
#define ECMA_MAGIC_STRING_DEF(id, ascii_zt_string) \
|
|
||||||
case id: return (ecma_char_t*) ascii_zt_string;
|
|
||||||
#include "ecma-magic-strings.inc.h"
|
|
||||||
#undef ECMA_MAGIC_STRING_DEF
|
|
||||||
|
|
||||||
case ECMA_MAGIC_STRING__COUNT: break;
|
|
||||||
}
|
|
||||||
|
|
||||||
JERRY_UNREACHABLE ();
|
|
||||||
} /* ecma_get_magic_string_zt */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get specified magic string as zero-terminated string from external table
|
|
||||||
*
|
|
||||||
* @return pointer to zero-terminated magic string
|
|
||||||
*/
|
|
||||||
const ecma_char_t*
|
|
||||||
ecma_get_magic_string_ex_zt (ecma_magic_string_ex_id_t id) /**< extern magic string id */
|
|
||||||
{
|
|
||||||
TODO (Support UTF-16);
|
|
||||||
|
|
||||||
if (ecma_magic_string_ex_array && id < ecma_magic_string_ex_count)
|
|
||||||
{
|
|
||||||
return ecma_magic_string_ex_array[id];
|
|
||||||
}
|
|
||||||
|
|
||||||
JERRY_UNREACHABLE ();
|
|
||||||
} /* ecma_get_magic_string_ex_zt */
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get specified magic string
|
* Get specified magic string
|
||||||
*
|
*
|
||||||
* @return ecma-string containing specified magic string
|
* @return ecma-string containing specified magic string
|
||||||
*/
|
*/
|
||||||
ecma_string_t*
|
ecma_string_t*
|
||||||
ecma_get_magic_string (ecma_magic_string_id_t id) /**< magic string id */
|
ecma_get_magic_string (lit_magic_string_id_t id) /**< magic string id */
|
||||||
{
|
{
|
||||||
return ecma_new_ecma_string_from_magic_string_id (id);
|
return ecma_new_ecma_string_from_magic_string_id (id);
|
||||||
} /* ecma_get_magic_string */
|
} /* ecma_get_magic_string */
|
||||||
@ -1814,71 +1668,11 @@ ecma_get_magic_string (ecma_magic_string_id_t id) /**< magic string id */
|
|||||||
* @return ecma-string containing specified external magic string
|
* @return ecma-string containing specified external magic string
|
||||||
*/
|
*/
|
||||||
ecma_string_t*
|
ecma_string_t*
|
||||||
ecma_get_magic_string_ex (ecma_magic_string_ex_id_t id) /**< external magic string id */
|
ecma_get_magic_string_ex (lit_magic_string_ex_id_t id) /**< external magic string id */
|
||||||
{
|
{
|
||||||
return ecma_new_ecma_string_from_magic_string_ex_id (id);
|
return ecma_new_ecma_string_from_magic_string_ex_id (id);
|
||||||
} /* ecma_get_magic_string_ex */
|
} /* ecma_get_magic_string_ex */
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if passed zt-string equals to one of magic strings
|
|
||||||
* and if equal magic string was found, return it's id in 'out_id_p' argument.
|
|
||||||
*
|
|
||||||
* @return true - if magic string equal to passed string was found,
|
|
||||||
* false - otherwise.
|
|
||||||
*/
|
|
||||||
bool
|
|
||||||
ecma_is_zt_string_magic (const ecma_char_t *zt_string_p, /**< zero-terminated string */
|
|
||||||
ecma_magic_string_id_t *out_id_p) /**< out: magic string's id */
|
|
||||||
{
|
|
||||||
TODO (Improve performance of search);
|
|
||||||
|
|
||||||
for (ecma_magic_string_id_t id = (ecma_magic_string_id_t) 0;
|
|
||||||
id < ECMA_MAGIC_STRING__COUNT;
|
|
||||||
id = (ecma_magic_string_id_t) (id + 1))
|
|
||||||
{
|
|
||||||
if (ecma_compare_zt_strings (zt_string_p, ecma_get_magic_string_zt (id)))
|
|
||||||
{
|
|
||||||
*out_id_p = id;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*out_id_p = ECMA_MAGIC_STRING__COUNT;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
} /* ecma_is_zt_string_magic */
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check if passed zt-string equals to one of external magic strings
|
|
||||||
* and if equal magic string was found, return it's id in 'out_id_p' argument.
|
|
||||||
*
|
|
||||||
* @return true - if external magic string equal to passed string was found,
|
|
||||||
* false - otherwise.
|
|
||||||
*/
|
|
||||||
bool
|
|
||||||
ecma_is_zt_ex_string_magic (const ecma_char_t *zt_string_p, /**< zero-terminated string */
|
|
||||||
ecma_magic_string_ex_id_t *out_id_p) /**< out: external magic string's id */
|
|
||||||
{
|
|
||||||
TODO (Improve performance of search);
|
|
||||||
|
|
||||||
for (ecma_magic_string_ex_id_t id = (ecma_magic_string_ex_id_t) 0;
|
|
||||||
id < ecma_magic_string_ex_count;
|
|
||||||
id = (ecma_magic_string_ex_id_t) (id + 1))
|
|
||||||
{
|
|
||||||
if (ecma_compare_zt_strings (zt_string_p, ecma_get_magic_string_ex_zt (id)))
|
|
||||||
{
|
|
||||||
*out_id_p = id;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
*out_id_p = ecma_magic_string_ex_count;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
} /* ecma_is_zt_ex_string_magic */
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Long path part of ecma_is_string_magic
|
* Long path part of ecma_is_string_magic
|
||||||
*
|
*
|
||||||
@ -1890,14 +1684,14 @@ ecma_is_zt_ex_string_magic (const ecma_char_t *zt_string_p, /**< zero-terminated
|
|||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
ecma_is_string_magic_longpath (const ecma_string_t *string_p, /**< ecma-string */
|
ecma_is_string_magic_longpath (const ecma_string_t *string_p, /**< ecma-string */
|
||||||
ecma_magic_string_id_t *out_id_p) /**< out: magic string's id */
|
lit_magic_string_id_t *out_id_p) /**< out: magic string's id */
|
||||||
{
|
{
|
||||||
ecma_char_t zt_string_buffer[ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT + 1];
|
ecma_char_t zt_string_buffer[LIT_MAGIC_STRING_LENGTH_LIMIT + 1];
|
||||||
|
|
||||||
ssize_t copied = ecma_string_to_zt_string (string_p, zt_string_buffer, (ssize_t) sizeof (zt_string_buffer));
|
ssize_t copied = ecma_string_to_zt_string (string_p, zt_string_buffer, (ssize_t) sizeof (zt_string_buffer));
|
||||||
JERRY_ASSERT (copied > 0);
|
JERRY_ASSERT (copied > 0);
|
||||||
|
|
||||||
return ecma_is_zt_string_magic (zt_string_buffer, out_id_p);
|
return lit_is_zt_string_magic (zt_string_buffer, out_id_p);
|
||||||
} /* ecma_is_string_magic_longpath */
|
} /* ecma_is_string_magic_longpath */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1911,14 +1705,14 @@ ecma_is_string_magic_longpath (const ecma_string_t *string_p, /**< ecma-string *
|
|||||||
*/
|
*/
|
||||||
static bool
|
static bool
|
||||||
ecma_is_ex_string_magic_longpath (const ecma_string_t *string_p, /**< ecma-string */
|
ecma_is_ex_string_magic_longpath (const ecma_string_t *string_p, /**< ecma-string */
|
||||||
ecma_magic_string_ex_id_t *out_id_p) /**< out: external magic string's id */
|
lit_magic_string_ex_id_t *out_id_p) /**< out: external magic string's id */
|
||||||
{
|
{
|
||||||
ecma_char_t zt_string_buffer[ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT + 1];
|
ecma_char_t zt_string_buffer[LIT_MAGIC_STRING_LENGTH_LIMIT + 1];
|
||||||
|
|
||||||
ssize_t copied = ecma_string_to_zt_string (string_p, zt_string_buffer, (ssize_t) sizeof (zt_string_buffer));
|
ssize_t copied = ecma_string_to_zt_string (string_p, zt_string_buffer, (ssize_t) sizeof (zt_string_buffer));
|
||||||
JERRY_ASSERT (copied > 0);
|
JERRY_ASSERT (copied > 0);
|
||||||
|
|
||||||
return ecma_is_zt_ex_string_magic (zt_string_buffer, out_id_p);
|
return lit_is_zt_ex_string_magic (zt_string_buffer, out_id_p);
|
||||||
} /* ecma_is_ex_string_magic_longpath */
|
} /* ecma_is_ex_string_magic_longpath */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1930,18 +1724,18 @@ ecma_is_ex_string_magic_longpath (const ecma_string_t *string_p, /**< ecma-strin
|
|||||||
*/
|
*/
|
||||||
bool
|
bool
|
||||||
ecma_is_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
ecma_is_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
||||||
ecma_magic_string_id_t *out_id_p) /**< out: magic string's id */
|
lit_magic_string_id_t *out_id_p) /**< out: magic string's id */
|
||||||
{
|
{
|
||||||
if (string_p->container == ECMA_STRING_CONTAINER_MAGIC_STRING)
|
if (string_p->container == ECMA_STRING_CONTAINER_MAGIC_STRING)
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (string_p->u.magic_string_id < ECMA_MAGIC_STRING__COUNT);
|
JERRY_ASSERT (string_p->u.magic_string_id < LIT_MAGIC_STRING__COUNT);
|
||||||
|
|
||||||
*out_id_p = (ecma_magic_string_id_t) string_p->u.magic_string_id;
|
*out_id_p = (lit_magic_string_id_t) string_p->u.magic_string_id;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (string_p->container == ECMA_STRING_CONTAINER_CONCATENATION
|
else if (string_p->container == ECMA_STRING_CONTAINER_CONCATENATION
|
||||||
&& ecma_string_get_length (string_p) <= ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT)
|
&& ecma_string_get_length (string_p) <= LIT_MAGIC_STRING_LENGTH_LIMIT)
|
||||||
{
|
{
|
||||||
return ecma_is_string_magic_longpath (string_p, out_id_p);
|
return ecma_is_string_magic_longpath (string_p, out_id_p);
|
||||||
}
|
}
|
||||||
@ -1952,7 +1746,7 @@ ecma_is_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
|||||||
* should return ecma-string with ECMA_STRING_CONTAINER_MAGIC_STRING
|
* should return ecma-string with ECMA_STRING_CONTAINER_MAGIC_STRING
|
||||||
* container type if new ecma-string's content is equal to one of magic strings.
|
* container type if new ecma-string's content is equal to one of magic strings.
|
||||||
*/
|
*/
|
||||||
JERRY_ASSERT (ecma_string_get_length (string_p) > ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT
|
JERRY_ASSERT (ecma_string_get_length (string_p) > LIT_MAGIC_STRING_LENGTH_LIMIT
|
||||||
|| !ecma_is_string_magic_longpath (string_p, out_id_p));
|
|| !ecma_is_string_magic_longpath (string_p, out_id_p));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -1968,18 +1762,18 @@ ecma_is_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
|||||||
*/
|
*/
|
||||||
bool
|
bool
|
||||||
ecma_is_ex_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
ecma_is_ex_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
||||||
ecma_magic_string_ex_id_t *out_id_p) /**< out: external magic string's id */
|
lit_magic_string_ex_id_t *out_id_p) /**< out: external magic string's id */
|
||||||
{
|
{
|
||||||
if (string_p->container == ECMA_STRING_CONTAINER_MAGIC_STRING_EX)
|
if (string_p->container == ECMA_STRING_CONTAINER_MAGIC_STRING_EX)
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (string_p->u.magic_string_ex_id < ecma_magic_string_ex_count);
|
JERRY_ASSERT (string_p->u.magic_string_ex_id < ecma_get_magic_string_ex_count ());
|
||||||
|
|
||||||
*out_id_p = (ecma_magic_string_ex_id_t) string_p->u.magic_string_ex_id;
|
*out_id_p = (lit_magic_string_ex_id_t) string_p->u.magic_string_ex_id;
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (string_p->container == ECMA_STRING_CONTAINER_CONCATENATION
|
else if (string_p->container == ECMA_STRING_CONTAINER_CONCATENATION
|
||||||
&& ecma_string_get_length (string_p) <= ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT)
|
&& ecma_string_get_length (string_p) <= LIT_MAGIC_STRING_LENGTH_LIMIT)
|
||||||
{
|
{
|
||||||
return ecma_is_ex_string_magic_longpath (string_p, out_id_p);
|
return ecma_is_ex_string_magic_longpath (string_p, out_id_p);
|
||||||
}
|
}
|
||||||
@ -1990,7 +1784,7 @@ ecma_is_ex_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
|||||||
* should return ecma-string with ECMA_STRING_CONTAINER_MAGIC_STRING_EX
|
* should return ecma-string with ECMA_STRING_CONTAINER_MAGIC_STRING_EX
|
||||||
* container type if new ecma-string's content is equal to one of external magic strings.
|
* container type if new ecma-string's content is equal to one of external magic strings.
|
||||||
*/
|
*/
|
||||||
JERRY_ASSERT (ecma_string_get_length (string_p) > ECMA_STRING_MAGIC_STRING_LENGTH_LIMIT
|
JERRY_ASSERT (ecma_string_get_length (string_p) > LIT_MAGIC_STRING_LENGTH_LIMIT
|
||||||
|| !ecma_is_ex_string_magic_longpath (string_p, out_id_p));
|
|| !ecma_is_ex_string_magic_longpath (string_p, out_id_p));
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -2002,7 +1796,7 @@ ecma_is_ex_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
|||||||
*
|
*
|
||||||
* @return calculated hash
|
* @return calculated hash
|
||||||
*/
|
*/
|
||||||
ecma_string_hash_t
|
lit_string_hash_t
|
||||||
ecma_string_hash (const ecma_string_t *string_p) /**< ecma-string to calculate hash for */
|
ecma_string_hash (const ecma_string_t *string_p) /**< ecma-string to calculate hash for */
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -2010,11 +1804,11 @@ ecma_string_hash (const ecma_string_t *string_p) /**< ecma-string to calculate h
|
|||||||
} /* ecma_string_try_hash */
|
} /* ecma_string_try_hash */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calculate hash from last ECMA_STRING_HASH_LAST_CHARS_COUNT characters from the buffer.
|
* Calculate hash from last LIT_STRING_HASH_LAST_BYTES_COUNT characters from the buffer.
|
||||||
*
|
*
|
||||||
* @return ecma-string's hash
|
* @return ecma-string's hash
|
||||||
*/
|
*/
|
||||||
ecma_string_hash_t
|
lit_string_hash_t
|
||||||
ecma_chars_buffer_calc_hash_last_chars (const ecma_char_t *chars, /**< characters buffer */
|
ecma_chars_buffer_calc_hash_last_chars (const ecma_char_t *chars, /**< characters buffer */
|
||||||
ecma_length_t length) /**< number of characters in the buffer */
|
ecma_length_t length) /**< number of characters in the buffer */
|
||||||
{
|
{
|
||||||
@ -2028,7 +1822,7 @@ ecma_chars_buffer_calc_hash_last_chars (const ecma_char_t *chars, /**< character
|
|||||||
uint32_t t3 = (t2 >> 16) ^ (t2 & 0xffffu);
|
uint32_t t3 = (t2 >> 16) ^ (t2 & 0xffffu);
|
||||||
uint32_t t4 = (t3 >> 8) ^ (t3 & 0xffu);
|
uint32_t t4 = (t3 >> 8) ^ (t3 & 0xffu);
|
||||||
|
|
||||||
return (ecma_string_hash_t) t4;
|
return (lit_string_hash_t) t4;
|
||||||
} /* ecma_chars_buffer_calc_hash_last_chars */
|
} /* ecma_chars_buffer_calc_hash_last_chars */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -116,9 +116,9 @@ extern void ecma_new_ecma_string_on_stack_from_lit_cp (ecma_string_t *string_p,
|
|||||||
lit_cpointer_t lit_index);
|
lit_cpointer_t lit_index);
|
||||||
extern ecma_string_t *ecma_new_ecma_string_from_lit_cp (lit_cpointer_t lit_cp);
|
extern ecma_string_t *ecma_new_ecma_string_from_lit_cp (lit_cpointer_t lit_cp);
|
||||||
extern void ecma_new_ecma_string_on_stack_from_magic_string_id (ecma_string_t *string_p,
|
extern void ecma_new_ecma_string_on_stack_from_magic_string_id (ecma_string_t *string_p,
|
||||||
ecma_magic_string_id_t id);
|
lit_magic_string_id_t id);
|
||||||
extern ecma_string_t* ecma_new_ecma_string_from_magic_string_id (ecma_magic_string_id_t id);
|
extern ecma_string_t* ecma_new_ecma_string_from_magic_string_id (lit_magic_string_id_t id);
|
||||||
extern ecma_string_t* ecma_new_ecma_string_from_magic_string_ex_id (ecma_magic_string_ex_id_t id);
|
extern ecma_string_t* ecma_new_ecma_string_from_magic_string_ex_id (lit_magic_string_ex_id_t id);
|
||||||
extern ecma_string_t* ecma_concat_ecma_strings (ecma_string_t *string1_p, ecma_string_t *string2_p);
|
extern ecma_string_t* ecma_concat_ecma_strings (ecma_string_t *string1_p, ecma_string_t *string2_p);
|
||||||
extern ecma_string_t* ecma_copy_or_ref_ecma_string (ecma_string_t *string_desc_p);
|
extern ecma_string_t* ecma_copy_or_ref_ecma_string (ecma_string_t *string_desc_p);
|
||||||
extern void ecma_deref_ecma_string (ecma_string_t *string_p);
|
extern void ecma_deref_ecma_string (ecma_string_t *string_p);
|
||||||
@ -143,22 +143,12 @@ ecma_copy_zt_string_to_buffer (const ecma_char_t *string_p,
|
|||||||
ssize_t buffer_size);
|
ssize_t buffer_size);
|
||||||
extern ecma_length_t ecma_zt_string_length (const ecma_char_t *string_p);
|
extern ecma_length_t ecma_zt_string_length (const ecma_char_t *string_p);
|
||||||
|
|
||||||
extern void ecma_strings_init (void);
|
extern ecma_string_t* ecma_get_magic_string (lit_magic_string_id_t id);
|
||||||
extern void ecma_strings_ex_init (void);
|
extern ecma_string_t* ecma_get_magic_string_ex (lit_magic_string_ex_id_t id);
|
||||||
extern void ecma_strings_ex_set (const ecma_char_ptr_t* ex_str_items,
|
extern bool ecma_is_string_magic (const ecma_string_t *string_p, lit_magic_string_id_t *out_id_p);
|
||||||
uint32_t count,
|
extern bool ecma_is_ex_string_magic (const ecma_string_t *string_p, lit_magic_string_ex_id_t *out_id_p);
|
||||||
const ecma_length_t* ex_str_lengths);
|
extern lit_string_hash_t ecma_string_hash (const ecma_string_t *string_p);
|
||||||
extern uint32_t ecma_get_magic_string_ex_count (void);
|
extern lit_string_hash_t ecma_chars_buffer_calc_hash_last_chars (const ecma_char_t *chars, ecma_length_t length);
|
||||||
extern const ecma_char_t* ecma_get_magic_string_zt (ecma_magic_string_id_t id);
|
|
||||||
extern const ecma_char_t* ecma_get_magic_string_ex_zt (ecma_magic_string_ex_id_t id);
|
|
||||||
extern ecma_string_t* ecma_get_magic_string (ecma_magic_string_id_t id);
|
|
||||||
extern ecma_string_t* ecma_get_magic_string_ex (ecma_magic_string_ex_id_t id);
|
|
||||||
extern bool ecma_is_string_magic (const ecma_string_t *string_p, ecma_magic_string_id_t *out_id_p);
|
|
||||||
extern bool ecma_is_ex_string_magic (const ecma_string_t *string_p, ecma_magic_string_ex_id_t *out_id_p);
|
|
||||||
extern bool ecma_is_zt_string_magic (const ecma_char_t *zt_string_p, ecma_magic_string_id_t *out_id_p);
|
|
||||||
extern bool ecma_is_zt_ex_string_magic (const ecma_char_t *zt_string_p, ecma_magic_string_ex_id_t *out_id_p);
|
|
||||||
extern ecma_string_hash_t ecma_string_hash (const ecma_string_t *string_p);
|
|
||||||
extern ecma_string_hash_t ecma_chars_buffer_calc_hash_last_chars (const ecma_char_t *chars, ecma_length_t length);
|
|
||||||
|
|
||||||
/* ecma-helpers-number.cpp */
|
/* ecma-helpers-number.cpp */
|
||||||
extern const ecma_number_t ecma_number_relative_eps;
|
extern const ecma_number_t ecma_number_relative_eps;
|
||||||
|
|||||||
@ -35,8 +35,6 @@
|
|||||||
void
|
void
|
||||||
ecma_init (void)
|
ecma_init (void)
|
||||||
{
|
{
|
||||||
ecma_strings_init ();
|
|
||||||
ecma_strings_ex_init ();
|
|
||||||
ecma_init_builtins ();
|
ecma_init_builtins ();
|
||||||
ecma_lcache_init ();
|
ecma_lcache_init ();
|
||||||
ecma_stack_init ();
|
ecma_stack_init ();
|
||||||
|
|||||||
@ -50,7 +50,7 @@ JERRY_STATIC_ASSERT (sizeof (ecma_lcache_hash_entry_t) == sizeof (uint64_t));
|
|||||||
/**
|
/**
|
||||||
* LCache hash value length, in bits
|
* LCache hash value length, in bits
|
||||||
*/
|
*/
|
||||||
#define ECMA_LCACHE_HASH_BITS (ECMA_STRING_HASH_BITS)
|
#define ECMA_LCACHE_HASH_BITS (LIT_STRING_HASH_BITS)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Number of rows in LCache's hash table
|
* Number of rows in LCache's hash table
|
||||||
@ -164,7 +164,7 @@ ecma_lcache_insert (ecma_object_t *object_p, /**< object */
|
|||||||
#ifndef CONFIG_ECMA_LCACHE_DISABLE
|
#ifndef CONFIG_ECMA_LCACHE_DISABLE
|
||||||
prop_name_p = ecma_copy_or_ref_ecma_string (prop_name_p);
|
prop_name_p = ecma_copy_or_ref_ecma_string (prop_name_p);
|
||||||
|
|
||||||
ecma_string_hash_t hash_key = ecma_string_hash (prop_name_p);
|
lit_string_hash_t hash_key = ecma_string_hash (prop_name_p);
|
||||||
|
|
||||||
if (prop_p != NULL)
|
if (prop_p != NULL)
|
||||||
{
|
{
|
||||||
@ -243,7 +243,7 @@ ecma_lcache_lookup (ecma_object_t *object_p, /**< object */
|
|||||||
* then the output parameter is not set */
|
* then the output parameter is not set */
|
||||||
{
|
{
|
||||||
#ifndef CONFIG_ECMA_LCACHE_DISABLE
|
#ifndef CONFIG_ECMA_LCACHE_DISABLE
|
||||||
ecma_string_hash_t hash_key = ecma_string_hash (prop_name_p);
|
lit_string_hash_t hash_key = ecma_string_hash (prop_name_p);
|
||||||
|
|
||||||
unsigned int object_cp;
|
unsigned int object_cp;
|
||||||
ECMA_SET_NON_NULL_POINTER (object_cp, object_p);
|
ECMA_SET_NON_NULL_POINTER (object_cp, object_p);
|
||||||
@ -333,7 +333,7 @@ ecma_lcache_invalidate (ecma_object_t *object_p, /**< object */
|
|||||||
ECMA_SET_NON_NULL_POINTER (object_cp, object_p);
|
ECMA_SET_NON_NULL_POINTER (object_cp, object_p);
|
||||||
ECMA_SET_POINTER (prop_cp, prop_p);
|
ECMA_SET_POINTER (prop_cp, prop_p);
|
||||||
|
|
||||||
ecma_string_hash_t hash_key = ecma_string_hash (prop_name_p);
|
lit_string_hash_t hash_key = ecma_string_hash (prop_name_p);
|
||||||
|
|
||||||
/* Property's name has was computed.
|
/* Property's name has was computed.
|
||||||
* Given (object, property name) pair should be in the row corresponding to computed hash.
|
* Given (object, property name) pair should be in the row corresponding to computed hash.
|
||||||
|
|||||||
@ -1,232 +0,0 @@
|
|||||||
/* Copyright 2014-2015 Samsung Electronics Co., Ltd.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* List of ECMA magic strings
|
|
||||||
*/
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ARGUMENTS, "arguments")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_EVAL, "eval")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_PROTOTYPE, "prototype")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CONSTRUCTOR, "constructor")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CALLER, "caller")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CALLEE, "callee")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_UNDEFINED, "undefined")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_NULL, "null")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_FALSE, "false")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TRUE, "true")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_BOOLEAN, "boolean")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_NUMBER, "number")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_STRING, "string")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_OBJECT, "object")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_FUNCTION, "function")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LENGTH, "length")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SOURCE, "source")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GLOBAL, "global")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_IGNORECASE_UL, "ignoreCase")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MULTILINE, "multiline")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_INDEX, "index")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_INPUT, "input")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LASTINDEX_UL, "lastIndex")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_NAN, "NaN")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_INFINITY_UL, "Infinity")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_UNDEFINED_UL, "Undefined")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_NULL_UL, "Null")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_OBJECT_UL, "Object")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_FUNCTION_UL, "Function")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ARRAY_UL, "Array")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ARGUMENTS_UL, "Arguments")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_STRING_UL, "String")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_BOOLEAN_UL, "Boolean")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_NUMBER_UL, "Number")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_DATE_UL, "Date")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_REGEXP_UL, "RegExp")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_REGEXP_SOURCE_UL, "Source")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ERROR_UL, "Error")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_EVAL_ERROR_UL, "EvalError")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_RANGE_ERROR_UL, "RangeError")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_REFERENCE_ERROR_UL, "ReferenceError")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SYNTAX_ERROR_UL, "SyntaxError")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TYPE_ERROR_UL, "TypeError")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_URI_ERROR_UL, "URIError")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MATH_UL, "Math")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_JSON_U, "JSON")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_PARSE, "parse")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_PARSE_INT, "parseInt")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_PARSE_FLOAT, "parseFloat")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_IS_NAN, "isNaN")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_IS_FINITE, "isFinite")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_DECODE_URI, "decodeURI")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_DECODE_URI_COMPONENT, "decodeURIComponent")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ENCODE_URI, "encodeURI")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ENCODE_URI_COMPONENT, "encodeURIComponent")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_PROTOTYPE_OF_UL, "getPrototypeOf")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL, "getOwnPropertyDescriptor")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_OWN_PROPERTY_NAMES_UL, "getOwnPropertyNames")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CREATE, "create")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_DEFINE_PROPERTY_UL, "defineProperty")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_DEFINE_PROPERTIES_UL, "defineProperties")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SEAL, "seal")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_FREEZE, "freeze")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_PREVENT_EXTENSIONS_UL, "preventExtensions")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_IS_SEALED_UL, "isSealed")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_IS_FROZEN_UL, "isFrozen")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_IS_EXTENSIBLE, "isExtensible")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_KEYS, "keys")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_WRITABLE, "writable")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ENUMERABLE, "enumerable")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CONFIGURABLE, "configurable")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_VALUE, "value")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET, "get")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET, "set")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_E_U, "E")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LN10_U, "LN10")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LN2_U, "LN2")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LOG2E_U, "LOG2E")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LOG10E_U, "LOG10E")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_PI_U, "PI")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SQRT1_2_U, "SQRT1_2")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SQRT2_U, "SQRT2")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ABS, "abs")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ACOS, "acos")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ASIN, "asin")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ATAN, "atan")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ATAN2, "atan2")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CEIL, "ceil")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_COS, "cos")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_EXP, "exp")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_FLOOR, "floor")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LOG, "log")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MAX, "max")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MIN, "min")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_POW, "pow")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_RANDOM, "random")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_ROUND, "round")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SIN, "sin")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SQRT, "sqrt")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TAN, "tan")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_FROM_CHAR_CODE_UL, "fromCharCode")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_IS_ARRAY_UL, "isArray")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_STRING_UL, "toString")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_VALUE_OF_UL, "valueOf")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_LOCALE_STRING_UL, "toLocaleString")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_HAS_OWN_PROPERTY_UL, "hasOwnProperty")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_IS_PROTOTYPE_OF_UL, "isPrototypeOf")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_PROPERTY_IS_ENUMERABLE_UL, "propertyIsEnumerable")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CONCAT, "concat")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_POP, "pop")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_JOIN, "join")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_PUSH, "push")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_REVERSE, "reverse")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SHIFT, "shift")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SLICE, "slice")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SORT, "sort")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SPLICE, "splice")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_UNSHIFT, "unshift")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_INDEX_OF_UL, "indexOf")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LAST_INDEX_OF_UL, "lastIndexOf")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_EVERY, "every")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SOME, "some")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_FOR_EACH_UL, "forEach")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MAP, "map")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_FILTER, "filter")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_REDUCE, "reduce")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_REDUCE_RIGHT_UL, "reduceRight")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CHAR_AT_UL, "charAt")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CHAR_CODE_AT_UL, "charCodeAt")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LOCALE_COMPARE_UL, "localeCompare")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MATCH, "match")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_REPLACE, "replace")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SEARCH, "search")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SPLIT, "split")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SUBSTRING, "substring")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_LOWER_CASE_UL, "toLowerCase")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_LOCALE_LOWER_CASE_UL, "toLocaleLowerCase")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_UPPER_CASE_UL, "toUpperCase")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_LOCALE_UPPER_CASE_UL, "toLocaleUpperCase")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TRIM, "trim")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_FIXED_UL, "toFixed")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_EXPONENTIAL_UL, "toExponential")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_PRECISION_UL, "toPrecision")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_NOW, "now")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_DATE_STRING_UL, "toDateString")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_TIME_STRING_UL, "toTimeString")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_LOCALE_DATE_STRING_UL, "toLocaleDateString")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_LOCALE_TIME_STRING_UL, "toLocaleTimeString")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_TIME_UL, "getTime")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_FULL_YEAR_UL, "getFullYear")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_UTC_U, "UTC")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_UTC_FULL_YEAR_UL, "getUTCFullYear")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_MONTH_UL, "getMonth")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_UTC_MONTH_UL, "getUTCMonth")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_DATE_UL, "getDate")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_UTC_DATE_UL, "getUTCDate")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_DAY_UL, "getDay")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_UTC_DAY_UL, "getUTCDay")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_HOURS_UL, "getHours")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_UTC_HOURS_UL, "getUTCHours")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_MINUTES_UL, "getMinutes")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_UTC_MINUTES_UL, "getUTCMinutes")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_SECONDS_UL, "getSeconds")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_UTC_SECONDS_UL, "getUTCSeconds")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_MILLISECONDS_UL, "getMilliseconds")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_UTC_MILLISECONDS_UL, "getUTCMilliseconds")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_GET_TIMEZONE_OFFSET_UL, "getTimezoneOffset")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_TIME_UL, "setTime")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_MILLISECONDS_UL, "setMilliseconds")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_UTC_MILLISECONDS_UL, "setUTCMilliseconds")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_SECONDS_UL, "setSeconds")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_UTC_SECONDS_UL, "setUTCSeconds")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_MINUTES_UL, "setMinutes")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_UTC_MINUTES_UL, "setUTCMinutes")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_HOURS_UL, "setHours")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_UTC_HOURS_UL, "setUTCHours")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_DATE_UL, "setDate")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_UTC_DATE_UL, "setUTCDate")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_MONTH_UL, "setMonth")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_UTC_MONTH_UL, "setUTCMonth")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_FULL_YEAR_UL, "setFullYear")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SET_UTC_FULL_YEAR_UL, "setUTCFullYear")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_UTC_STRING_UL, "toUTCString")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_ISO_STRING_UL, "toISOString")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TO_JSON_UL, "toJSON")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MAX_VALUE_U, "MAX_VALUE")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MIN_VALUE_U, "MIN_VALUE")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_POSITIVE_INFINITY_U, "POSITIVE_INFINITY")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_NEGATIVE_INFINITY_U, "NEGATIVE_INFINITY")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_COMPACT_PROFILE_ERROR_UL, "CompactProfileError")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_APPLY, "apply")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_CALL, "call")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_BIND, "bind")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_EXEC, "exec")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_TEST, "test")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_NAME, "name")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_MESSAGE, "message")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_G_CHAR, "g")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_I_CHAR, "i")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_M_CHAR, "m")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SLASH_CHAR, "/")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_EMPTY_NON_CAPTURE_GROUP, "(?:)")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_LEFT_SQUARE_CHAR, "[")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_RIGHT_SQUARE_CHAR, "]")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_COLON_CHAR, ":")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_COMMA_CHAR, ",")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_SPACE_CHAR, " ")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING__EMPTY, "")
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Implementation-defined magic strings
|
|
||||||
*/
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING_JERRY_UL, "Jerry")
|
|
||||||
ECMA_MAGIC_STRING_DEF (ECMA_MAGIC_STRING__FUNCTION_TO_STRING, "function(){/* ecmascript */}")
|
|
||||||
@ -61,7 +61,7 @@ ecma_builtin_array_prototype_helper_set_length (ecma_object_t *object, /**< obje
|
|||||||
uint32_t length) /**< new length */
|
uint32_t length) /**< new length */
|
||||||
{
|
{
|
||||||
ecma_completion_value_t ret_value;
|
ecma_completion_value_t ret_value;
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
ecma_number_t *len_p = ecma_alloc_number ();
|
ecma_number_t *len_p = ecma_alloc_number ();
|
||||||
*len_p = ecma_uint32_to_number (length);
|
*len_p = ecma_uint32_to_number (length);
|
||||||
@ -98,7 +98,7 @@ ecma_builtin_array_prototype_object_concat (ecma_value_t this_arg, /**< this arg
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
ecma_op_object_get (obj_p, magic_string_length_p),
|
ecma_op_object_get (obj_p, magic_string_length_p),
|
||||||
@ -140,7 +140,7 @@ ecma_builtin_array_prototype_object_concat (ecma_value_t this_arg, /**< this arg
|
|||||||
{
|
{
|
||||||
/* 5.b */
|
/* 5.b */
|
||||||
if (ecma_is_value_object (args[arg_index]) &&
|
if (ecma_is_value_object (args[arg_index]) &&
|
||||||
(ecma_object_get_class_name (ecma_get_object_from_value (args[arg_index])) == ECMA_MAGIC_STRING_ARRAY_UL))
|
(ecma_object_get_class_name (ecma_get_object_from_value (args[arg_index])) == LIT_MAGIC_STRING_ARRAY_UL))
|
||||||
{
|
{
|
||||||
/* 5.b.ii */
|
/* 5.b.ii */
|
||||||
ECMA_TRY_CATCH (arg_len_value,
|
ECMA_TRY_CATCH (arg_len_value,
|
||||||
@ -241,7 +241,7 @@ ecma_builtin_array_prototype_object_for_each (ecma_value_t this_arg, /**< this a
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -336,7 +336,7 @@ ecma_builtin_array_prototype_join (const ecma_value_t this_arg, /**< this argume
|
|||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_value);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_value);
|
||||||
|
|
||||||
ecma_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *length_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (length_value,
|
ECMA_TRY_CATCH (length_value,
|
||||||
@ -358,7 +358,7 @@ ecma_builtin_array_prototype_join (const ecma_value_t this_arg, /**< this argume
|
|||||||
if (length == 0)
|
if (length == 0)
|
||||||
{
|
{
|
||||||
/* 6. */
|
/* 6. */
|
||||||
ecma_string_t *empty_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING__EMPTY);
|
ecma_string_t *empty_string_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);
|
||||||
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (empty_string_p));
|
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (empty_string_p));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -441,7 +441,7 @@ ecma_builtin_array_prototype_object_to_string (ecma_value_t this_arg) /**< this
|
|||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this_value);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this_value);
|
||||||
|
|
||||||
ecma_string_t *join_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_JOIN);
|
ecma_string_t *join_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_JOIN);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (join_value,
|
ECMA_TRY_CATCH (join_value,
|
||||||
@ -492,7 +492,7 @@ ecma_builtin_array_prototype_object_to_locale_string (const ecma_value_t this_ar
|
|||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_value);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_value);
|
||||||
|
|
||||||
ecma_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *length_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (length_value,
|
ECMA_TRY_CATCH (length_value,
|
||||||
@ -507,12 +507,12 @@ ecma_builtin_array_prototype_object_to_locale_string (const ecma_value_t this_ar
|
|||||||
uint32_t length = ecma_number_to_uint32 (length_number);
|
uint32_t length = ecma_number_to_uint32 (length_number);
|
||||||
|
|
||||||
/* 4. Implementation-defined: set the separator to a single comma character */
|
/* 4. Implementation-defined: set the separator to a single comma character */
|
||||||
ecma_string_t *separator_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_COMMA_CHAR);
|
ecma_string_t *separator_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_COMMA_CHAR);
|
||||||
|
|
||||||
/* 5. */
|
/* 5. */
|
||||||
if (length == 0)
|
if (length == 0)
|
||||||
{
|
{
|
||||||
ecma_string_t *empty_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING__EMPTY);
|
ecma_string_t *empty_string_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);
|
||||||
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (empty_string_p));
|
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (empty_string_p));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -589,7 +589,7 @@ ecma_builtin_array_prototype_object_pop (ecma_value_t this_arg) /**< this argume
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -672,7 +672,7 @@ ecma_builtin_array_prototype_object_push (ecma_value_t this_arg, /**< this argum
|
|||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this_value);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this_value);
|
||||||
|
|
||||||
// 2.
|
// 2.
|
||||||
ecma_string_t *length_str_p = ecma_new_ecma_string_from_magic_string_id (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *length_str_p = ecma_new_ecma_string_from_magic_string_id (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
ECMA_TRY_CATCH (length_value, ecma_op_object_get (obj_p, length_str_p), ret_value);
|
ECMA_TRY_CATCH (length_value, ecma_op_object_get (obj_p, length_str_p), ret_value);
|
||||||
|
|
||||||
@ -767,7 +767,7 @@ ecma_builtin_array_prototype_object_reverse (ecma_value_t this_arg) /**< this ar
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -866,7 +866,7 @@ ecma_builtin_array_prototype_object_index_of (ecma_value_t this_arg, /**< this a
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -970,7 +970,7 @@ ecma_builtin_array_prototype_object_last_index_of (ecma_value_t this_arg, /**< t
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -1378,7 +1378,7 @@ ecma_builtin_array_prototype_object_sort (ecma_value_t this_arg, /**< this argum
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
ecma_op_object_get (obj_p, magic_string_length_p),
|
ecma_op_object_get (obj_p, magic_string_length_p),
|
||||||
@ -1464,7 +1464,7 @@ ecma_builtin_array_prototype_object_shift (ecma_value_t this_arg) /**< this argu
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -1579,7 +1579,7 @@ ecma_builtin_array_prototype_object_unshift (ecma_value_t this_arg, /**< this ar
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -1676,7 +1676,7 @@ ecma_builtin_array_prototype_object_every (ecma_value_t this_arg, /**< this argu
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -1777,7 +1777,7 @@ ecma_builtin_array_prototype_object_some (ecma_value_t this_arg, /**< this argum
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -1878,7 +1878,7 @@ ecma_builtin_array_prototype_object_filter (ecma_value_t this_arg, /**< this arg
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -2002,7 +2002,7 @@ ecma_builtin_array_prototype_object_slice (ecma_value_t this_arg, /**< 'this' ar
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t* obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t* obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t* length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t* length_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
ecma_op_object_get (obj_p, length_magic_string_p),
|
ecma_op_object_get (obj_p, length_magic_string_p),
|
||||||
@ -2117,7 +2117,7 @@ ecma_builtin_array_prototype_object_splice (ecma_value_t this_arg, /**< this arg
|
|||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
|
|
||||||
/* 3. */
|
/* 3. */
|
||||||
ecma_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *length_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
ecma_op_object_get (obj_p, length_magic_string_p),
|
ecma_op_object_get (obj_p, length_magic_string_p),
|
||||||
@ -2398,7 +2398,7 @@ ecma_builtin_array_prototype_object_map (ecma_value_t this_arg, /**< this argume
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2 */
|
/* 2 */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -2507,7 +2507,7 @@ ecma_builtin_array_prototype_object_reduce (ecma_value_t this_arg, /**< this arg
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2 */
|
/* 2 */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
@ -2651,7 +2651,7 @@ ecma_builtin_array_prototype_object_reduce_right (ecma_value_t this_arg, /**< th
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 2 */
|
/* 2 */
|
||||||
ECMA_TRY_CATCH (len_value,
|
ECMA_TRY_CATCH (len_value,
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_ARRAY_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.4.4.1
|
// 15.4.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_ARRAY),
|
ecma_builtin_get (ECMA_BUILTIN_ID_ARRAY),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.4.4
|
// 15.4.4
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
0,
|
0,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -58,27 +58,27 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_FOR_EACH_UL, ecma_builtin_array_prototype_object_for_each, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_FOR_EACH_UL, ecma_builtin_array_prototype_object_for_each, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_CONCAT, ecma_builtin_array_prototype_object_concat, NON_FIXED, 1)
|
ROUTINE (LIT_MAGIC_STRING_CONCAT, ecma_builtin_array_prototype_object_concat, NON_FIXED, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_JOIN, ecma_builtin_array_prototype_join, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_JOIN, ecma_builtin_array_prototype_join, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_array_prototype_object_to_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_array_prototype_object_to_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_array_prototype_object_to_locale_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_array_prototype_object_to_locale_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_POP, ecma_builtin_array_prototype_object_pop, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_POP, ecma_builtin_array_prototype_object_pop, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_PUSH, ecma_builtin_array_prototype_object_push, NON_FIXED, 1)
|
ROUTINE (LIT_MAGIC_STRING_PUSH, ecma_builtin_array_prototype_object_push, NON_FIXED, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_REVERSE, ecma_builtin_array_prototype_object_reverse, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_REVERSE, ecma_builtin_array_prototype_object_reverse, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_INDEX_OF_UL, ecma_builtin_array_prototype_object_index_of, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_INDEX_OF_UL, ecma_builtin_array_prototype_object_index_of, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_LAST_INDEX_OF_UL, ecma_builtin_array_prototype_object_last_index_of, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_LAST_INDEX_OF_UL, ecma_builtin_array_prototype_object_last_index_of, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SORT, ecma_builtin_array_prototype_object_sort, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SORT, ecma_builtin_array_prototype_object_sort, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SHIFT, ecma_builtin_array_prototype_object_shift, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_SHIFT, ecma_builtin_array_prototype_object_shift, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_UNSHIFT, ecma_builtin_array_prototype_object_unshift, NON_FIXED, 1)
|
ROUTINE (LIT_MAGIC_STRING_UNSHIFT, ecma_builtin_array_prototype_object_unshift, NON_FIXED, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_EVERY, ecma_builtin_array_prototype_object_every, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_EVERY, ecma_builtin_array_prototype_object_every, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SOME, ecma_builtin_array_prototype_object_some, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_SOME, ecma_builtin_array_prototype_object_some, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SLICE, ecma_builtin_array_prototype_object_slice, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SLICE, ecma_builtin_array_prototype_object_slice, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SPLICE, ecma_builtin_array_prototype_object_splice, NON_FIXED, 2)
|
ROUTINE (LIT_MAGIC_STRING_SPLICE, ecma_builtin_array_prototype_object_splice, NON_FIXED, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_FILTER, ecma_builtin_array_prototype_object_filter, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_FILTER, ecma_builtin_array_prototype_object_filter, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_MAP, ecma_builtin_array_prototype_object_map, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_MAP, ecma_builtin_array_prototype_object_map, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_REDUCE, ecma_builtin_array_prototype_object_reduce, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_REDUCE, ecma_builtin_array_prototype_object_reduce, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_REDUCE_RIGHT_UL, ecma_builtin_array_prototype_object_reduce_right, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_REDUCE_RIGHT_UL, ecma_builtin_array_prototype_object_reduce_right, 2, 1)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -63,7 +63,7 @@ ecma_builtin_array_object_is_array (ecma_value_t this_arg __attr_unused___, /**<
|
|||||||
{
|
{
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (arg);
|
ecma_object_t *obj_p = ecma_get_object_from_value (arg);
|
||||||
|
|
||||||
if (ecma_object_get_class_name (obj_p) == ECMA_MAGIC_STRING_ARRAY_UL)
|
if (ecma_object_get_class_name (obj_p) == LIT_MAGIC_STRING_ARRAY_UL)
|
||||||
{
|
{
|
||||||
is_array = ECMA_SIMPLE_VALUE_TRUE;
|
is_array = ECMA_SIMPLE_VALUE_TRUE;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_ARRAY)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.4.3.1
|
// 15.4.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_ARRAY_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_ARRAY_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -48,7 +48,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_IS_ARRAY_UL, ecma_builtin_array_object_is_array, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_IS_ARRAY_UL, ecma_builtin_array_object_is_array, 1, 1)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -66,13 +66,13 @@ ecma_builtin_boolean_prototype_object_to_string (ecma_value_t this_arg) /**< thi
|
|||||||
|
|
||||||
if (ecma_is_value_true (value_of_ret))
|
if (ecma_is_value_true (value_of_ret))
|
||||||
{
|
{
|
||||||
ret_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_TRUE);
|
ret_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_TRUE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (ecma_is_value_boolean (value_of_ret));
|
JERRY_ASSERT (ecma_is_value_boolean (value_of_ret));
|
||||||
|
|
||||||
ret_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_FALSE);
|
ret_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (ret_str_p));
|
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (ret_str_p));
|
||||||
@ -102,7 +102,7 @@ ecma_builtin_boolean_prototype_object_value_of (ecma_value_t this_arg) /**< this
|
|||||||
{
|
{
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
||||||
|
|
||||||
if (ecma_object_get_class_name (obj_p) == ECMA_MAGIC_STRING_BOOLEAN_UL)
|
if (ecma_object_get_class_name (obj_p) == LIT_MAGIC_STRING_BOOLEAN_UL)
|
||||||
{
|
{
|
||||||
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_BOOLEAN_VALUE);
|
ECMA_INTERNAL_PROPERTY_PRIMITIVE_BOOLEAN_VALUE);
|
||||||
|
|||||||
@ -36,7 +36,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_BOOLEAN_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.6.4.1
|
// 15.6.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_BOOLEAN),
|
ecma_builtin_get (ECMA_BUILTIN_ID_BOOLEAN),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -44,8 +44,8 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_boolean_prototype_object_to_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_boolean_prototype_object_to_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_boolean_prototype_object_value_of, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_boolean_prototype_object_value_of, 0, 0)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_BOOLEAN)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.6.3.1
|
// 15.6.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_BOOLEAN_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_BOOLEAN_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.6.3
|
// 15.6.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -31,7 +31,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR)
|
|||||||
/* Number properties:
|
/* Number properties:
|
||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
0,
|
0,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -33,55 +33,55 @@
|
|||||||
/* Object identifier */
|
/* Object identifier */
|
||||||
OBJECT_ID (ECMA_BUILTIN_ID_DATE_PROTOTYPE)
|
OBJECT_ID (ECMA_BUILTIN_ID_DATE_PROTOTYPE)
|
||||||
|
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_DATE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_DATE),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_date_prototype_to_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_date_prototype_to_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_DATE_STRING_UL, ecma_builtin_date_prototype_to_date_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_DATE_STRING_UL, ecma_builtin_date_prototype_to_date_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_TIME_STRING_UL, ecma_builtin_date_prototype_to_time_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_TIME_STRING_UL, ecma_builtin_date_prototype_to_time_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_date_prototype_to_locale_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_date_prototype_to_locale_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOCALE_DATE_STRING_UL, ecma_builtin_date_prototype_to_locale_date_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_DATE_STRING_UL, ecma_builtin_date_prototype_to_locale_date_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOCALE_TIME_STRING_UL, ecma_builtin_date_prototype_to_locale_time_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_TIME_STRING_UL, ecma_builtin_date_prototype_to_locale_time_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_date_prototype_value_of, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_date_prototype_value_of, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_TIME_UL, ecma_builtin_date_prototype_get_time, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_TIME_UL, ecma_builtin_date_prototype_get_time, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_FULL_YEAR_UL, ecma_builtin_date_prototype_get_full_year, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_FULL_YEAR_UL, ecma_builtin_date_prototype_get_full_year, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_UTC_FULL_YEAR_UL, ecma_builtin_date_prototype_get_utc_full_year, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_UTC_FULL_YEAR_UL, ecma_builtin_date_prototype_get_utc_full_year, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_MONTH_UL, ecma_builtin_date_prototype_get_month, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_MONTH_UL, ecma_builtin_date_prototype_get_month, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_UTC_MONTH_UL, ecma_builtin_date_prototype_get_utc_month, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_UTC_MONTH_UL, ecma_builtin_date_prototype_get_utc_month, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_DATE_UL, ecma_builtin_date_prototype_get_date, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_DATE_UL, ecma_builtin_date_prototype_get_date, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_UTC_DATE_UL, ecma_builtin_date_prototype_get_utc_date, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_UTC_DATE_UL, ecma_builtin_date_prototype_get_utc_date, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_DAY_UL, ecma_builtin_date_prototype_get_day, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_DAY_UL, ecma_builtin_date_prototype_get_day, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_UTC_DAY_UL, ecma_builtin_date_prototype_get_utc_day, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_UTC_DAY_UL, ecma_builtin_date_prototype_get_utc_day, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_HOURS_UL, ecma_builtin_date_prototype_get_hours, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_HOURS_UL, ecma_builtin_date_prototype_get_hours, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_UTC_HOURS_UL, ecma_builtin_date_prototype_get_utc_hours, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_UTC_HOURS_UL, ecma_builtin_date_prototype_get_utc_hours, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_MINUTES_UL, ecma_builtin_date_prototype_get_minutes, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_MINUTES_UL, ecma_builtin_date_prototype_get_minutes, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_UTC_MINUTES_UL, ecma_builtin_date_prototype_get_utc_minutes, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_UTC_MINUTES_UL, ecma_builtin_date_prototype_get_utc_minutes, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_SECONDS_UL, ecma_builtin_date_prototype_get_seconds, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_SECONDS_UL, ecma_builtin_date_prototype_get_seconds, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_UTC_SECONDS_UL, ecma_builtin_date_prototype_get_utc_seconds, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_UTC_SECONDS_UL, ecma_builtin_date_prototype_get_utc_seconds, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_MILLISECONDS_UL, ecma_builtin_date_prototype_get_milliseconds, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_MILLISECONDS_UL, ecma_builtin_date_prototype_get_milliseconds, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_UTC_MILLISECONDS_UL, ecma_builtin_date_prototype_get_utc_milliseconds, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_UTC_MILLISECONDS_UL, ecma_builtin_date_prototype_get_utc_milliseconds, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_TIMEZONE_OFFSET_UL, ecma_builtin_date_prototype_get_timezone_offset, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_GET_TIMEZONE_OFFSET_UL, ecma_builtin_date_prototype_get_timezone_offset, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_TIME_UL, ecma_builtin_date_prototype_set_time, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SET_TIME_UL, ecma_builtin_date_prototype_set_time, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_MILLISECONDS_UL, ecma_builtin_date_prototype_set_milliseconds, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SET_MILLISECONDS_UL, ecma_builtin_date_prototype_set_milliseconds, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_UTC_MILLISECONDS_UL, ecma_builtin_date_prototype_set_utc_milliseconds, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SET_UTC_MILLISECONDS_UL, ecma_builtin_date_prototype_set_utc_milliseconds, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_SECONDS_UL, ecma_builtin_date_prototype_set_seconds, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SET_SECONDS_UL, ecma_builtin_date_prototype_set_seconds, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_UTC_SECONDS_UL, ecma_builtin_date_prototype_set_utc_seconds, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SET_UTC_SECONDS_UL, ecma_builtin_date_prototype_set_utc_seconds, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_MINUTES_UL, ecma_builtin_date_prototype_set_minutes, NON_FIXED, 3)
|
ROUTINE (LIT_MAGIC_STRING_SET_MINUTES_UL, ecma_builtin_date_prototype_set_minutes, NON_FIXED, 3)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_UTC_MINUTES_UL, ecma_builtin_date_prototype_set_utc_minutes, NON_FIXED, 3)
|
ROUTINE (LIT_MAGIC_STRING_SET_UTC_MINUTES_UL, ecma_builtin_date_prototype_set_utc_minutes, NON_FIXED, 3)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_HOURS_UL, ecma_builtin_date_prototype_set_hours, NON_FIXED, 4)
|
ROUTINE (LIT_MAGIC_STRING_SET_HOURS_UL, ecma_builtin_date_prototype_set_hours, NON_FIXED, 4)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_UTC_HOURS_UL, ecma_builtin_date_prototype_set_utc_hours, NON_FIXED, 4)
|
ROUTINE (LIT_MAGIC_STRING_SET_UTC_HOURS_UL, ecma_builtin_date_prototype_set_utc_hours, NON_FIXED, 4)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_DATE_UL, ecma_builtin_date_prototype_set_date, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SET_DATE_UL, ecma_builtin_date_prototype_set_date, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_UTC_DATE_UL, ecma_builtin_date_prototype_set_utc_date, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SET_UTC_DATE_UL, ecma_builtin_date_prototype_set_utc_date, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_MONTH_UL, ecma_builtin_date_prototype_set_month, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SET_MONTH_UL, ecma_builtin_date_prototype_set_month, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_UTC_MONTH_UL, ecma_builtin_date_prototype_set_utc_month, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SET_UTC_MONTH_UL, ecma_builtin_date_prototype_set_utc_month, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_FULL_YEAR_UL, ecma_builtin_date_prototype_set_full_year, NON_FIXED, 3)
|
ROUTINE (LIT_MAGIC_STRING_SET_FULL_YEAR_UL, ecma_builtin_date_prototype_set_full_year, NON_FIXED, 3)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SET_UTC_FULL_YEAR_UL, ecma_builtin_date_prototype_set_utc_full_year, NON_FIXED, 3)
|
ROUTINE (LIT_MAGIC_STRING_SET_UTC_FULL_YEAR_UL, ecma_builtin_date_prototype_set_utc_full_year, NON_FIXED, 3)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_UTC_STRING_UL, ecma_builtin_date_prototype_to_utc_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_UTC_STRING_UL, ecma_builtin_date_prototype_to_utc_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_ISO_STRING_UL, ecma_builtin_date_prototype_to_iso_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_ISO_STRING_UL, ecma_builtin_date_prototype_to_iso_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_JSON_UL, ecma_builtin_date_prototype_to_json, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_TO_JSON_UL, ecma_builtin_date_prototype_to_json, 1, 1)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -38,21 +38,21 @@
|
|||||||
OBJECT_ID (ECMA_BUILTIN_ID_DATE)
|
OBJECT_ID (ECMA_BUILTIN_ID_DATE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.9.4.1
|
// ECMA-262 v5, 15.9.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_DATE_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_DATE_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
7,
|
7,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
ROUTINE (ECMA_MAGIC_STRING_PARSE, ecma_builtin_date_parse, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_PARSE, ecma_builtin_date_parse, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_UTC_U, ecma_builtin_date_utc, NON_FIXED, 7)
|
ROUTINE (LIT_MAGIC_STRING_UTC_U, ecma_builtin_date_utc, NON_FIXED, 7)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_NOW, ecma_builtin_date_now, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_NOW, ecma_builtin_date_now, 0, 0)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -66,7 +66,7 @@ ecma_builtin_error_prototype_object_to_string (ecma_value_t this_arg) /**< this
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
||||||
ecma_string_t *name_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_NAME);
|
ecma_string_t *name_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_NAME);
|
||||||
|
|
||||||
ECMA_TRY_CATCH (name_get_ret_value,
|
ECMA_TRY_CATCH (name_get_ret_value,
|
||||||
ecma_op_object_get (obj_p, name_magic_string_p),
|
ecma_op_object_get (obj_p, name_magic_string_p),
|
||||||
@ -76,7 +76,7 @@ ecma_builtin_error_prototype_object_to_string (ecma_value_t this_arg) /**< this
|
|||||||
|
|
||||||
if (ecma_is_value_undefined (name_get_ret_value))
|
if (ecma_is_value_undefined (name_get_ret_value))
|
||||||
{
|
{
|
||||||
ecma_string_t *error_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_ERROR_UL);
|
ecma_string_t *error_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_ERROR_UL);
|
||||||
|
|
||||||
name_to_str_completion = ecma_make_normal_completion_value (ecma_make_string_value (error_magic_string_p));
|
name_to_str_completion = ecma_make_normal_completion_value (ecma_make_string_value (error_magic_string_p));
|
||||||
}
|
}
|
||||||
@ -91,7 +91,7 @@ ecma_builtin_error_prototype_object_to_string (ecma_value_t this_arg) /**< this
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ecma_string_t *message_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_MESSAGE);
|
ecma_string_t *message_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_MESSAGE);
|
||||||
|
|
||||||
ECMA_TRY_CATCH (msg_get_ret_value,
|
ECMA_TRY_CATCH (msg_get_ret_value,
|
||||||
ecma_op_object_get (obj_p, message_magic_string_p),
|
ecma_op_object_get (obj_p, message_magic_string_p),
|
||||||
@ -101,7 +101,7 @@ ecma_builtin_error_prototype_object_to_string (ecma_value_t this_arg) /**< this
|
|||||||
|
|
||||||
if (ecma_is_value_undefined (msg_get_ret_value))
|
if (ecma_is_value_undefined (msg_get_ret_value))
|
||||||
{
|
{
|
||||||
ecma_string_t *empty_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING__EMPTY);
|
ecma_string_t *empty_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);
|
||||||
|
|
||||||
msg_to_str_completion = ecma_make_normal_completion_value (ecma_make_string_value (empty_magic_string_p));
|
msg_to_str_completion = ecma_make_normal_completion_value (ecma_make_string_value (empty_magic_string_p));
|
||||||
}
|
}
|
||||||
@ -131,8 +131,8 @@ ecma_builtin_error_prototype_object_to_string (ecma_value_t this_arg) /**< this
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const ecma_char_t *colon_zt_magic_string_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_COLON_CHAR);
|
const ecma_char_t *colon_zt_magic_string_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_COLON_CHAR);
|
||||||
const ecma_char_t *space_zt_magic_string_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_SPACE_CHAR);
|
const ecma_char_t *space_zt_magic_string_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_SPACE_CHAR);
|
||||||
|
|
||||||
const int32_t len = (ecma_string_get_length (name_string_p) +
|
const int32_t len = (ecma_string_get_length (name_string_p) +
|
||||||
ecma_string_get_length (msg_string_p) +
|
ecma_string_get_length (msg_string_p) +
|
||||||
|
|||||||
@ -40,29 +40,29 @@ OBJECT_ID (ECMA_BUILTIN_ID_ERROR_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.4.1
|
// 15.11.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.4.2
|
// 15.11.4.2
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_NAME,
|
STRING_VALUE (LIT_MAGIC_STRING_NAME,
|
||||||
ECMA_MAGIC_STRING_ERROR_UL,
|
LIT_MAGIC_STRING_ERROR_UL,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.4.3
|
// 15.11.4.3
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_MESSAGE,
|
STRING_VALUE (LIT_MAGIC_STRING_MESSAGE,
|
||||||
ECMA_MAGIC_STRING__EMPTY,
|
LIT_MAGIC_STRING__EMPTY,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_error_prototype_object_to_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_error_prototype_object_to_string, 0, 0)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_ERROR)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.11.3
|
// 15.11.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.7.3.1
|
// 15.7.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_ERROR_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_ERROR_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -36,22 +36,22 @@ OBJECT_ID (ECMA_BUILTIN_ID_EVAL_ERROR_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.7.8
|
// 15.11.7.8
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_EVAL_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_EVAL_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.9
|
// 15.11.7.9
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_NAME,
|
STRING_VALUE (LIT_MAGIC_STRING_NAME,
|
||||||
ECMA_MAGIC_STRING_EVAL_ERROR_UL,
|
LIT_MAGIC_STRING_EVAL_ERROR_UL,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.10
|
// 15.11.7.10
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_MESSAGE,
|
STRING_VALUE (LIT_MAGIC_STRING_MESSAGE,
|
||||||
ECMA_MAGIC_STRING__EMPTY,
|
LIT_MAGIC_STRING__EMPTY,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_EVAL_ERROR)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.11.3
|
// 15.11.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.3.1
|
// 15.11.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_EVAL_ERROR_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_EVAL_ERROR_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -63,7 +63,7 @@ ecma_builtin_function_prototype_object_to_string (ecma_value_t this_arg) /**< th
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ecma_string_t *function_to_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING__FUNCTION_TO_STRING);
|
ecma_string_t *function_to_string_p = ecma_get_magic_string (LIT_MAGIC_STRING__FUNCTION_TO_STRING);
|
||||||
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (function_to_string_p));
|
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (function_to_string_p));
|
||||||
}
|
}
|
||||||
return ret_value;
|
return ret_value;
|
||||||
@ -112,7 +112,7 @@ ecma_builtin_function_prototype_object_apply (ecma_value_t this_arg, /**< this a
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (arg2);
|
ecma_object_t *obj_p = ecma_get_object_from_value (arg2);
|
||||||
ecma_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *length_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
|
|
||||||
/* 4. */
|
/* 4. */
|
||||||
ECMA_TRY_CATCH (length_value,
|
ECMA_TRY_CATCH (length_value,
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.3.4.1
|
// 15.3.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_FUNCTION),
|
ecma_builtin_get (ECMA_BUILTIN_ID_FUNCTION),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.3.4
|
// 15.3.4
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
0,
|
0,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -58,10 +58,10 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_function_prototype_object_to_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_function_prototype_object_to_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_APPLY, ecma_builtin_function_prototype_object_apply, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_APPLY, ecma_builtin_function_prototype_object_apply, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_CALL, ecma_builtin_function_prototype_object_call, NON_FIXED, 1)
|
ROUTINE (LIT_MAGIC_STRING_CALL, ecma_builtin_function_prototype_object_call, NON_FIXED, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_BIND, ecma_builtin_function_prototype_object_bind, NON_FIXED, 1)
|
ROUTINE (LIT_MAGIC_STRING_BIND, ecma_builtin_function_prototype_object_bind, NON_FIXED, 1)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -81,7 +81,7 @@ ecma_builtin_function_dispatch_construct (const ecma_value_t *arguments_list_p,
|
|||||||
if (arguments_list_len == 0)
|
if (arguments_list_len == 0)
|
||||||
{
|
{
|
||||||
/* 3. */
|
/* 3. */
|
||||||
string_params_p[0] = ecma_new_ecma_string_from_magic_string_id (ECMA_MAGIC_STRING__EMPTY);
|
string_params_p[0] = ecma_new_ecma_string_from_magic_string_id (LIT_MAGIC_STRING__EMPTY);
|
||||||
zt_strings_buffer_size = sizeof (ecma_char_t);
|
zt_strings_buffer_size = sizeof (ecma_char_t);
|
||||||
params_count = 1;
|
params_count = 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_FUNCTION)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.3.3.1
|
// 15.3.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_FUNCTION_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.3.3.2
|
// 15.3.3.2
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -310,7 +310,7 @@ ecma_builtin_global_object_parse_float (ecma_value_t this_arg __attr_unused___,
|
|||||||
ecma_number_t *ret_num_p = ecma_alloc_number ();
|
ecma_number_t *ret_num_p = ecma_alloc_number ();
|
||||||
|
|
||||||
/* Check if string is equal to "Infinity". */
|
/* Check if string is equal to "Infinity". */
|
||||||
const ecma_char_t *infinity_zt_str_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_INFINITY_UL);
|
const ecma_char_t *infinity_zt_str_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_INFINITY_UL);
|
||||||
|
|
||||||
for (int i = 0; infinity_zt_str_p[i] == zt_string_buff[start + i]; i++)
|
for (int i = 0; infinity_zt_str_p[i] == zt_string_buff[start + i]; i++)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -48,7 +48,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_GLOBAL)
|
|||||||
* (property name, simple value, writable, enumerable, configurable) */
|
* (property name, simple value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.1.3
|
// ECMA-262 v5, 15.1.1.3
|
||||||
SIMPLE_VALUE (ECMA_MAGIC_STRING_UNDEFINED,
|
SIMPLE_VALUE (LIT_MAGIC_STRING_UNDEFINED,
|
||||||
ECMA_SIMPLE_VALUE_UNDEFINED,
|
ECMA_SIMPLE_VALUE_UNDEFINED,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -58,14 +58,14 @@ SIMPLE_VALUE (ECMA_MAGIC_STRING_UNDEFINED,
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.1.1
|
// ECMA-262 v5, 15.1.1.1
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_NAN,
|
NUMBER_VALUE (LIT_MAGIC_STRING_NAN,
|
||||||
ecma_number_make_nan (),
|
ecma_number_make_nan (),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.1.2
|
// ECMA-262 v5, 15.1.1.2
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_INFINITY_UL,
|
NUMBER_VALUE (LIT_MAGIC_STRING_INFINITY_UL,
|
||||||
ecma_number_make_infinity (false),
|
ecma_number_make_infinity (false),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -75,14 +75,14 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_INFINITY_UL,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.1
|
// ECMA-262 v5, 15.1.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_OBJECT_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_OBJECT_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_OBJECT),
|
ecma_builtin_get (ECMA_BUILTIN_ID_OBJECT),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.2
|
// ECMA-262 v5, 15.1.4.2
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_FUNCTION_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_FUNCTION_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_FUNCTION),
|
ecma_builtin_get (ECMA_BUILTIN_ID_FUNCTION),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -90,7 +90,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_FUNCTION_UL,
|
|||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.3
|
// ECMA-262 v5, 15.1.4.3
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ARRAY_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ARRAY_BUILTIN
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_ARRAY_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_ARRAY_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_ARRAY),
|
ecma_builtin_get (ECMA_BUILTIN_ID_ARRAY),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -99,7 +99,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_ARRAY_UL,
|
|||||||
|
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN
|
||||||
// ECMA-262 v5, 15.1.4.4
|
// ECMA-262 v5, 15.1.4.4
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_STRING_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_STRING_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_STRING),
|
ecma_builtin_get (ECMA_BUILTIN_ID_STRING),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -108,7 +108,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_STRING_UL,
|
|||||||
|
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN
|
||||||
// ECMA-262 v5, 15.1.4.5
|
// ECMA-262 v5, 15.1.4.5
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_BOOLEAN_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_BOOLEAN_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_BOOLEAN),
|
ecma_builtin_get (ECMA_BUILTIN_ID_BOOLEAN),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -117,7 +117,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_BOOLEAN_UL,
|
|||||||
|
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN
|
||||||
// ECMA-262 v5, 15.1.4.6
|
// ECMA-262 v5, 15.1.4.6
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_NUMBER_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_NUMBER_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_NUMBER),
|
ecma_builtin_get (ECMA_BUILTIN_ID_NUMBER),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -126,7 +126,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_NUMBER_UL,
|
|||||||
|
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_DATE_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_DATE_BUILTIN
|
||||||
// ECMA-262 v5, 15.1.4.7
|
// ECMA-262 v5, 15.1.4.7
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_DATE_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_DATE_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_DATE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_DATE),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -135,7 +135,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_DATE_UL,
|
|||||||
|
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_REGEXP_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_REGEXP_BUILTIN
|
||||||
// ECMA-262 v5, 15.1.4.8
|
// ECMA-262 v5, 15.1.4.8
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_REGEXP_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_REGEXP_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_REGEXP),
|
ecma_builtin_get (ECMA_BUILTIN_ID_REGEXP),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -144,49 +144,49 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_REGEXP_UL,
|
|||||||
|
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS
|
||||||
// ECMA-262 v5, 15.1.4.9
|
// ECMA-262 v5, 15.1.4.9
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_ERROR_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_ERROR_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.10
|
// ECMA-262 v5, 15.1.4.10
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_EVAL_ERROR_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_EVAL_ERROR_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_EVAL_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_EVAL_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.11
|
// ECMA-262 v5, 15.1.4.11
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_RANGE_ERROR_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_RANGE_ERROR_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_RANGE_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_RANGE_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.12
|
// ECMA-262 v5, 15.1.4.12
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_REFERENCE_ERROR_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_REFERENCE_ERROR_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_REFERENCE_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_REFERENCE_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.13
|
// ECMA-262 v5, 15.1.4.13
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_SYNTAX_ERROR_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_SYNTAX_ERROR_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_SYNTAX_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_SYNTAX_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.14
|
// ECMA-262 v5, 15.1.4.14
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_TYPE_ERROR_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_TYPE_ERROR_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_TYPE_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_TYPE_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.4.15
|
// ECMA-262 v5, 15.1.4.15
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_URI_ERROR_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_URI_ERROR_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_URI_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_URI_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -195,7 +195,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_URI_ERROR_UL,
|
|||||||
|
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN
|
||||||
// ECMA-262 v5, 15.1.5.1
|
// ECMA-262 v5, 15.1.5.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_MATH_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_MATH_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_MATH),
|
ecma_builtin_get (ECMA_BUILTIN_ID_MATH),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -203,14 +203,14 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_MATH_UL,
|
|||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN */
|
||||||
|
|
||||||
// ECMA-262 v5, 15.1.5.2
|
// ECMA-262 v5, 15.1.5.2
|
||||||
CP_UNIMPLEMENTED_VALUE (ECMA_MAGIC_STRING_JSON_U,
|
CP_UNIMPLEMENTED_VALUE (LIT_MAGIC_STRING_JSON_U,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_JSON),
|
ecma_builtin_get (ECMA_BUILTIN_ID_JSON),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
#ifdef CONFIG_ECMA_COMPACT_PROFILE
|
#ifdef CONFIG_ECMA_COMPACT_PROFILE
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_COMPACT_PROFILE_ERROR_UL,
|
OBJECT_VALUE (LIT_MAGIC_STRING_COMPACT_PROFILE_ERROR_UL,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -219,15 +219,15 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_COMPACT_PROFILE_ERROR_UL,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_EVAL, ecma_builtin_global_object_eval, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_EVAL, ecma_builtin_global_object_eval, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_PARSE_FLOAT, ecma_builtin_global_object_parse_float, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_PARSE_FLOAT, ecma_builtin_global_object_parse_float, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_IS_NAN, ecma_builtin_global_object_is_nan, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_IS_NAN, ecma_builtin_global_object_is_nan, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_IS_FINITE, ecma_builtin_global_object_is_finite, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_IS_FINITE, ecma_builtin_global_object_is_finite, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_DECODE_URI, ecma_builtin_global_object_decode_uri, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_DECODE_URI, ecma_builtin_global_object_decode_uri, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_DECODE_URI_COMPONENT, ecma_builtin_global_object_decode_uri_component, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_DECODE_URI_COMPONENT, ecma_builtin_global_object_decode_uri_component, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_ENCODE_URI, ecma_builtin_global_object_encode_uri, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_ENCODE_URI, ecma_builtin_global_object_encode_uri, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_ENCODE_URI_COMPONENT, ecma_builtin_global_object_encode_uri_component, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_ENCODE_URI_COMPONENT, ecma_builtin_global_object_encode_uri_component, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_PARSE_INT, ecma_builtin_global_object_parse_int, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_PARSE_INT, ecma_builtin_global_object_parse_int, 2, 2)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -49,15 +49,15 @@
|
|||||||
ecma_completion_value_t
|
ecma_completion_value_t
|
||||||
ecma_builtin_helper_object_to_string (const ecma_value_t this_arg) /**< this argument */
|
ecma_builtin_helper_object_to_string (const ecma_value_t this_arg) /**< this argument */
|
||||||
{
|
{
|
||||||
ecma_magic_string_id_t type_string;
|
lit_magic_string_id_t type_string;
|
||||||
|
|
||||||
if (ecma_is_value_undefined (this_arg))
|
if (ecma_is_value_undefined (this_arg))
|
||||||
{
|
{
|
||||||
type_string = ECMA_MAGIC_STRING_UNDEFINED_UL;
|
type_string = LIT_MAGIC_STRING_UNDEFINED_UL;
|
||||||
}
|
}
|
||||||
else if (ecma_is_value_null (this_arg))
|
else if (ecma_is_value_null (this_arg))
|
||||||
{
|
{
|
||||||
type_string = ECMA_MAGIC_STRING_NULL_UL;
|
type_string = LIT_MAGIC_STRING_NULL_UL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -85,11 +85,11 @@ ecma_builtin_helper_object_to_string (const ecma_value_t this_arg) /**< this arg
|
|||||||
const ssize_t buffer_size = 19;
|
const ssize_t buffer_size = 19;
|
||||||
MEM_DEFINE_LOCAL_ARRAY (str_buffer, buffer_size, ecma_char_t);
|
MEM_DEFINE_LOCAL_ARRAY (str_buffer, buffer_size, ecma_char_t);
|
||||||
|
|
||||||
const ecma_char_t *left_square_zt_str_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_LEFT_SQUARE_CHAR);
|
const ecma_char_t *left_square_zt_str_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_LEFT_SQUARE_CHAR);
|
||||||
const ecma_char_t *object_zt_str_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_OBJECT);
|
const ecma_char_t *object_zt_str_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_OBJECT);
|
||||||
const ecma_char_t *space_zt_str_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_SPACE_CHAR);
|
const ecma_char_t *space_zt_str_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_SPACE_CHAR);
|
||||||
const ecma_char_t *type_name_zt_str_p = ecma_get_magic_string_zt (type_string);
|
const ecma_char_t *type_name_zt_str_p = lit_get_magic_string_zt (type_string);
|
||||||
const ecma_char_t *right_square_zt_str_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_RIGHT_SQUARE_CHAR);
|
const ecma_char_t *right_square_zt_str_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_RIGHT_SQUARE_CHAR);
|
||||||
|
|
||||||
ecma_char_t *buffer_ptr = str_buffer;
|
ecma_char_t *buffer_ptr = str_buffer;
|
||||||
ssize_t buffer_size_left = buffer_size;
|
ssize_t buffer_size_left = buffer_size;
|
||||||
@ -145,7 +145,7 @@ ecma_builtin_helper_get_to_locale_string_at_index (ecma_object_t *obj_p, /** < t
|
|||||||
|
|
||||||
if (ecma_is_value_undefined (index_value) || ecma_is_value_null (index_value))
|
if (ecma_is_value_undefined (index_value) || ecma_is_value_null (index_value))
|
||||||
{
|
{
|
||||||
ecma_string_t *return_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING__EMPTY);
|
ecma_string_t *return_string_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);
|
||||||
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (return_string_p));
|
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (return_string_p));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -155,7 +155,7 @@ ecma_builtin_helper_get_to_locale_string_at_index (ecma_object_t *obj_p, /** < t
|
|||||||
ret_value);
|
ret_value);
|
||||||
|
|
||||||
ecma_object_t *index_obj_p = ecma_get_object_from_value (index_obj_value);
|
ecma_object_t *index_obj_p = ecma_get_object_from_value (index_obj_value);
|
||||||
ecma_string_t *locale_string_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_TO_LOCALE_STRING_UL);
|
ecma_string_t *locale_string_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL);
|
||||||
|
|
||||||
ECMA_TRY_CATCH (to_locale_value,
|
ECMA_TRY_CATCH (to_locale_value,
|
||||||
ecma_op_object_get (index_obj_p, locale_string_magic_string_p),
|
ecma_op_object_get (index_obj_p, locale_string_magic_string_p),
|
||||||
|
|||||||
@ -49,7 +49,7 @@
|
|||||||
#undef ROUTINE_ARG_LIST_0
|
#undef ROUTINE_ARG_LIST_0
|
||||||
#undef ROUTINE_ARG
|
#undef ROUTINE_ARG
|
||||||
|
|
||||||
static ecma_magic_string_id_t ecma_builtin_property_names[] =
|
static lit_magic_string_id_t ecma_builtin_property_names[] =
|
||||||
{
|
{
|
||||||
#define SIMPLE_VALUE(name, obj_getter, prop_writable, prop_enumerable, prop_configurable) name,
|
#define SIMPLE_VALUE(name, obj_getter, prop_writable, prop_enumerable, prop_configurable) name,
|
||||||
#define NUMBER_VALUE(name, obj_getter, prop_writable, prop_enumerable, prop_configurable) name,
|
#define NUMBER_VALUE(name, obj_getter, prop_writable, prop_enumerable, prop_configurable) name,
|
||||||
@ -78,7 +78,7 @@ SORT_PROPERTY_NAMES_ROUTINE_NAME (BUILTIN_UNDERSCORED_ID) (void)
|
|||||||
{
|
{
|
||||||
if (ecma_builtin_property_names[i] < ecma_builtin_property_names[i - 1])
|
if (ecma_builtin_property_names[i] < ecma_builtin_property_names[i - 1])
|
||||||
{
|
{
|
||||||
ecma_magic_string_id_t id_temp = ecma_builtin_property_names[i - 1];
|
lit_magic_string_id_t id_temp = ecma_builtin_property_names[i - 1];
|
||||||
ecma_builtin_property_names[i - 1] = ecma_builtin_property_names[i];
|
ecma_builtin_property_names[i - 1] = ecma_builtin_property_names[i];
|
||||||
ecma_builtin_property_names[i] = id_temp;
|
ecma_builtin_property_names[i] = id_temp;
|
||||||
|
|
||||||
@ -107,7 +107,7 @@ TRY_TO_INSTANTIATE_PROPERTY_ROUTINE_NAME (BUILTIN_UNDERSCORED_ID) (ecma_object_t
|
|||||||
JERRY_ASSERT (ecma_builtin_is (obj_p, builtin_object_id));
|
JERRY_ASSERT (ecma_builtin_is (obj_p, builtin_object_id));
|
||||||
JERRY_ASSERT (ecma_find_named_property (obj_p, prop_name_p) == NULL);
|
JERRY_ASSERT (ecma_find_named_property (obj_p, prop_name_p) == NULL);
|
||||||
|
|
||||||
ecma_magic_string_id_t id;
|
lit_magic_string_id_t id;
|
||||||
|
|
||||||
if (!ecma_is_string_magic (prop_name_p, &id))
|
if (!ecma_is_string_magic (prop_name_p, &id))
|
||||||
{
|
{
|
||||||
|
|||||||
@ -44,56 +44,56 @@ OBJECT_ID (ECMA_BUILTIN_ID_MATH)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// ECMA-262 v5, 15.8.1.1
|
// ECMA-262 v5, 15.8.1.1
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_E_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_E_U,
|
||||||
ECMA_NUMBER_E,
|
ECMA_NUMBER_E,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.8.1.2
|
// ECMA-262 v5, 15.8.1.2
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LN10_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LN10_U,
|
||||||
ECMA_NUMBER_LN10,
|
ECMA_NUMBER_LN10,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.8.1.3
|
// ECMA-262 v5, 15.8.1.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LN2_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LN2_U,
|
||||||
ECMA_NUMBER_LN2,
|
ECMA_NUMBER_LN2,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.8.1.4
|
// ECMA-262 v5, 15.8.1.4
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LOG2E_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LOG2E_U,
|
||||||
ECMA_NUMBER_LOG2E,
|
ECMA_NUMBER_LOG2E,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.8.1.5
|
// ECMA-262 v5, 15.8.1.5
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LOG10E_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LOG10E_U,
|
||||||
ECMA_NUMBER_LOG10E,
|
ECMA_NUMBER_LOG10E,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.8.1.6
|
// ECMA-262 v5, 15.8.1.6
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_PI_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_PI_U,
|
||||||
ECMA_NUMBER_PI,
|
ECMA_NUMBER_PI,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.8.1.7
|
// ECMA-262 v5, 15.8.1.7
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_SQRT1_2_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_SQRT1_2_U,
|
||||||
ECMA_NUMBER_SQRT_1_2,
|
ECMA_NUMBER_SQRT_1_2,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.8.1.8
|
// ECMA-262 v5, 15.8.1.8
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_SQRT2_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_SQRT2_U,
|
||||||
ECMA_NUMBER_SQRT2,
|
ECMA_NUMBER_SQRT2,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -101,24 +101,24 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_SQRT2_U,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_ABS, ecma_builtin_math_object_abs, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_ABS, ecma_builtin_math_object_abs, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_ACOS, ecma_builtin_math_object_acos, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_ACOS, ecma_builtin_math_object_acos, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_ASIN, ecma_builtin_math_object_asin, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_ASIN, ecma_builtin_math_object_asin, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_ATAN, ecma_builtin_math_object_atan, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_ATAN, ecma_builtin_math_object_atan, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_ATAN2, ecma_builtin_math_object_atan2, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_ATAN2, ecma_builtin_math_object_atan2, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_CEIL, ecma_builtin_math_object_ceil, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_CEIL, ecma_builtin_math_object_ceil, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_COS, ecma_builtin_math_object_cos, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_COS, ecma_builtin_math_object_cos, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_EXP, ecma_builtin_math_object_exp, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_EXP, ecma_builtin_math_object_exp, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_FLOOR, ecma_builtin_math_object_floor, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_FLOOR, ecma_builtin_math_object_floor, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_LOG, ecma_builtin_math_object_log, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_LOG, ecma_builtin_math_object_log, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_MAX, ecma_builtin_math_object_max, NON_FIXED, 2)
|
ROUTINE (LIT_MAGIC_STRING_MAX, ecma_builtin_math_object_max, NON_FIXED, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_MIN, ecma_builtin_math_object_min, NON_FIXED, 2)
|
ROUTINE (LIT_MAGIC_STRING_MIN, ecma_builtin_math_object_min, NON_FIXED, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_POW, ecma_builtin_math_object_pow, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_POW, ecma_builtin_math_object_pow, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_RANDOM, ecma_builtin_math_object_random, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_RANDOM, ecma_builtin_math_object_random, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_ROUND, ecma_builtin_math_object_round, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_ROUND, ecma_builtin_math_object_round, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SIN, ecma_builtin_math_object_sin, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SIN, ecma_builtin_math_object_sin, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SQRT, ecma_builtin_math_object_sqrt, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SQRT, ecma_builtin_math_object_sqrt, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TAN, ecma_builtin_math_object_tan, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_TAN, ecma_builtin_math_object_tan, 1, 1)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -99,7 +99,7 @@ ecma_builtin_number_prototype_object_to_string (ecma_value_t this_arg, /**< this
|
|||||||
{
|
{
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
||||||
|
|
||||||
if (ecma_object_get_class_name (obj_p) == ECMA_MAGIC_STRING_NUMBER_UL)
|
if (ecma_object_get_class_name (obj_p) == LIT_MAGIC_STRING_NUMBER_UL)
|
||||||
{
|
{
|
||||||
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);
|
ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);
|
||||||
@ -164,7 +164,7 @@ ecma_builtin_number_prototype_object_value_of (ecma_value_t this_arg) /**< this
|
|||||||
{
|
{
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
||||||
|
|
||||||
if (ecma_object_get_class_name (obj_p) == ECMA_MAGIC_STRING_NUMBER_UL)
|
if (ecma_object_get_class_name (obj_p) == LIT_MAGIC_STRING_NUMBER_UL)
|
||||||
{
|
{
|
||||||
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);
|
ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);
|
||||||
@ -213,7 +213,7 @@ ecma_builtin_number_prototype_object_to_fixed (ecma_value_t this_arg, /**< this
|
|||||||
/* 4. */
|
/* 4. */
|
||||||
if (ecma_number_is_nan (this_num))
|
if (ecma_number_is_nan (this_num))
|
||||||
{
|
{
|
||||||
ecma_string_t *nan_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_NAN);
|
ecma_string_t *nan_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_NAN);
|
||||||
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (nan_str_p));
|
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (nan_str_p));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -230,7 +230,7 @@ ecma_builtin_number_prototype_object_to_fixed (ecma_value_t this_arg, /**< this
|
|||||||
/* We handle infinities separately. */
|
/* We handle infinities separately. */
|
||||||
if (ecma_number_is_infinity (this_num))
|
if (ecma_number_is_infinity (this_num))
|
||||||
{
|
{
|
||||||
ecma_string_t *infinity_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_INFINITY_UL);
|
ecma_string_t *infinity_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_INFINITY_UL);
|
||||||
|
|
||||||
if (is_negative)
|
if (is_negative)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -36,7 +36,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_NUMBER_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.7.4.1
|
// 15.7.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_NUMBER),
|
ecma_builtin_get (ECMA_BUILTIN_ID_NUMBER),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -44,12 +44,12 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_number_prototype_object_to_string, NON_FIXED, 1)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_number_prototype_object_to_string, NON_FIXED, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_number_prototype_object_value_of, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_number_prototype_object_value_of, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_number_prototype_object_to_locale_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_number_prototype_object_to_locale_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_FIXED_UL, ecma_builtin_number_prototype_object_to_fixed, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_TO_FIXED_UL, ecma_builtin_number_prototype_object_to_fixed, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_EXPONENTIAL_UL, ecma_builtin_number_prototype_object_to_exponential, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_TO_EXPONENTIAL_UL, ecma_builtin_number_prototype_object_to_exponential, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_PRECISION_UL, ecma_builtin_number_prototype_object_to_precision, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_TO_PRECISION_UL, ecma_builtin_number_prototype_object_to_precision, 1, 1)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -36,42 +36,42 @@ OBJECT_ID (ECMA_BUILTIN_ID_NUMBER)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.7.3
|
// 15.7.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.7.3.4
|
// 15.7.3.4
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_NAN,
|
NUMBER_VALUE (LIT_MAGIC_STRING_NAN,
|
||||||
ecma_number_make_nan (),
|
ecma_number_make_nan (),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.7.3.2
|
// 15.7.3.2
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_MAX_VALUE_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_MAX_VALUE_U,
|
||||||
ECMA_NUMBER_MAX_VALUE,
|
ECMA_NUMBER_MAX_VALUE,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.7.3.3
|
// 15.7.3.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_MIN_VALUE_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_MIN_VALUE_U,
|
||||||
ECMA_NUMBER_MIN_VALUE,
|
ECMA_NUMBER_MIN_VALUE,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.7.3.5
|
// 15.7.3.5
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_POSITIVE_INFINITY_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_POSITIVE_INFINITY_U,
|
||||||
ecma_number_make_infinity (false),
|
ecma_number_make_infinity (false),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.7.3.6
|
// 15.7.3.6
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_NEGATIVE_INFINITY_U,
|
NUMBER_VALUE (LIT_MAGIC_STRING_NEGATIVE_INFINITY_U,
|
||||||
ecma_number_make_infinity (true),
|
ecma_number_make_infinity (true),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -81,7 +81,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_NEGATIVE_INFINITY_U,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.7.3.1
|
// 15.7.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_NUMBER_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_NUMBER_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -94,7 +94,7 @@ ecma_builtin_object_prototype_object_to_locale_string (ecma_value_t this_arg) /*
|
|||||||
return_value);
|
return_value);
|
||||||
|
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_val);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_val);
|
||||||
ecma_string_t *to_string_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_TO_STRING_UL);
|
ecma_string_t *to_string_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_TO_STRING_UL);
|
||||||
|
|
||||||
/* 2. */
|
/* 2. */
|
||||||
ECMA_TRY_CATCH (to_string_val,
|
ECMA_TRY_CATCH (to_string_val,
|
||||||
|
|||||||
@ -36,7 +36,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_OBJECT_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.2.4.1
|
// 15.2.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_OBJECT),
|
ecma_builtin_get (ECMA_BUILTIN_ID_OBJECT),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -44,12 +44,12 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_object_prototype_object_to_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_object_prototype_object_to_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_object_prototype_object_value_of, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_object_prototype_object_value_of, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_object_prototype_object_to_locale_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL, ecma_builtin_object_prototype_object_to_locale_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_HAS_OWN_PROPERTY_UL, ecma_builtin_object_prototype_object_has_own_property, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_HAS_OWN_PROPERTY_UL, ecma_builtin_object_prototype_object_has_own_property, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_IS_PROTOTYPE_OF_UL, ecma_builtin_object_prototype_object_is_prototype_of, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_IS_PROTOTYPE_OF_UL, ecma_builtin_object_prototype_object_is_prototype_of, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_PROPERTY_IS_ENUMERABLE_UL, ecma_builtin_object_prototype_object_property_is_enumerable, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_PROPERTY_IS_ENUMERABLE_UL, ecma_builtin_object_prototype_object_property_is_enumerable, 1, 1)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_OBJECT)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.2.3
|
// 15.2.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.2.3.1
|
// 15.2.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_OBJECT_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_OBJECT_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -58,19 +58,19 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_PROTOTYPE_OF_UL, ecma_builtin_object_object_get_prototype_of, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_GET_PROTOTYPE_OF_UL, ecma_builtin_object_object_get_prototype_of, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_OWN_PROPERTY_NAMES_UL, ecma_builtin_object_object_get_own_property_names, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_GET_OWN_PROPERTY_NAMES_UL, ecma_builtin_object_object_get_own_property_names, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SEAL, ecma_builtin_object_object_seal, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SEAL, ecma_builtin_object_object_seal, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_FREEZE, ecma_builtin_object_object_freeze, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_FREEZE, ecma_builtin_object_object_freeze, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_PREVENT_EXTENSIONS_UL, ecma_builtin_object_object_prevent_extensions, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_PREVENT_EXTENSIONS_UL, ecma_builtin_object_object_prevent_extensions, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_IS_SEALED_UL, ecma_builtin_object_object_is_sealed, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_IS_SEALED_UL, ecma_builtin_object_object_is_sealed, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_IS_FROZEN_UL, ecma_builtin_object_object_is_frozen, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_IS_FROZEN_UL, ecma_builtin_object_object_is_frozen, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_IS_EXTENSIBLE, ecma_builtin_object_object_is_extensible, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_IS_EXTENSIBLE, ecma_builtin_object_object_is_extensible, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_KEYS, ecma_builtin_object_object_keys, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_KEYS, ecma_builtin_object_object_keys, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL, ecma_builtin_object_object_get_own_property_descriptor, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL, ecma_builtin_object_object_get_own_property_descriptor, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_CREATE, ecma_builtin_object_object_create, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_CREATE, ecma_builtin_object_object_create, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_DEFINE_PROPERTIES_UL, ecma_builtin_object_object_define_properties, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_DEFINE_PROPERTIES_UL, ecma_builtin_object_object_define_properties, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_DEFINE_PROPERTY_UL, ecma_builtin_object_object_define_property, 3, 3)
|
ROUTINE (LIT_MAGIC_STRING_DEFINE_PROPERTY_UL, ecma_builtin_object_object_define_property, 3, 3)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -36,22 +36,22 @@ OBJECT_ID (ECMA_BUILTIN_ID_RANGE_ERROR_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.7.8
|
// 15.11.7.8
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_RANGE_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_RANGE_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.9
|
// 15.11.7.9
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_NAME,
|
STRING_VALUE (LIT_MAGIC_STRING_NAME,
|
||||||
ECMA_MAGIC_STRING_RANGE_ERROR_UL,
|
LIT_MAGIC_STRING_RANGE_ERROR_UL,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.10
|
// 15.11.7.10
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_MESSAGE,
|
STRING_VALUE (LIT_MAGIC_STRING_MESSAGE,
|
||||||
ECMA_MAGIC_STRING__EMPTY,
|
LIT_MAGIC_STRING__EMPTY,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_RANGE_ERROR)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.11.3
|
// 15.11.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.3.1
|
// 15.11.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_RANGE_ERROR_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_RANGE_ERROR_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -36,22 +36,22 @@ OBJECT_ID (ECMA_BUILTIN_ID_REFERENCE_ERROR_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.7.8
|
// 15.11.7.8
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_REFERENCE_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_REFERENCE_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.9
|
// 15.11.7.9
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_NAME,
|
STRING_VALUE (LIT_MAGIC_STRING_NAME,
|
||||||
ECMA_MAGIC_STRING_REFERENCE_ERROR_UL,
|
LIT_MAGIC_STRING_REFERENCE_ERROR_UL,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.10
|
// 15.11.7.10
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_MESSAGE,
|
STRING_VALUE (LIT_MAGIC_STRING_MESSAGE,
|
||||||
ECMA_MAGIC_STRING__EMPTY,
|
LIT_MAGIC_STRING__EMPTY,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_REFERENCE_ERROR)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.11.3
|
// 15.11.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.3.1
|
// 15.11.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_REFERENCE_ERROR_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_REFERENCE_ERROR_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -58,7 +58,7 @@ ecma_builtin_regexp_prototype_exec (ecma_value_t this_arg, /**< this argument */
|
|||||||
{
|
{
|
||||||
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
|
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
|
||||||
|
|
||||||
if (ecma_object_get_class_name (ecma_get_object_from_value (this_arg)) != ECMA_MAGIC_STRING_REGEXP_UL)
|
if (ecma_object_get_class_name (ecma_get_object_from_value (this_arg)) != LIT_MAGIC_STRING_REGEXP_UL)
|
||||||
{
|
{
|
||||||
ret_value = ecma_raise_type_error ((const ecma_char_t *) "Incomplete RegExp type");
|
ret_value = ecma_raise_type_error ((const ecma_char_t *) "Incomplete RegExp type");
|
||||||
}
|
}
|
||||||
@ -143,7 +143,7 @@ ecma_builtin_regexp_prototype_to_string (ecma_value_t this_arg) /**< this argume
|
|||||||
{
|
{
|
||||||
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
|
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
|
||||||
|
|
||||||
if (ecma_object_get_class_name (ecma_get_object_from_value (this_arg)) != ECMA_MAGIC_STRING_REGEXP_UL)
|
if (ecma_object_get_class_name (ecma_get_object_from_value (this_arg)) != LIT_MAGIC_STRING_REGEXP_UL)
|
||||||
{
|
{
|
||||||
ret_value = ecma_raise_type_error ((const ecma_char_t *) "Incomplete RegExp type");
|
ret_value = ecma_raise_type_error ((const ecma_char_t *) "Incomplete RegExp type");
|
||||||
}
|
}
|
||||||
@ -156,11 +156,11 @@ ecma_builtin_regexp_prototype_to_string (ecma_value_t this_arg) /**< this argume
|
|||||||
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
ecma_object_t *obj_p = ecma_get_object_from_value (obj_this);
|
||||||
|
|
||||||
/* Get RegExp source from the source property */
|
/* Get RegExp source from the source property */
|
||||||
ecma_string_t *magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_SOURCE);
|
ecma_string_t *magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_SOURCE);
|
||||||
ecma_property_t *source_prop_p = ecma_op_object_get_property (obj_p, magic_string_p);
|
ecma_property_t *source_prop_p = ecma_op_object_get_property (obj_p, magic_string_p);
|
||||||
ecma_deref_ecma_string (magic_string_p);
|
ecma_deref_ecma_string (magic_string_p);
|
||||||
|
|
||||||
ecma_string_t *src_sep_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_SLASH_CHAR);
|
ecma_string_t *src_sep_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_SLASH_CHAR);
|
||||||
ecma_string_t *source_str_p = ecma_get_string_from_value (source_prop_p->u.named_data_property.value);
|
ecma_string_t *source_str_p = ecma_get_string_from_value (source_prop_p->u.named_data_property.value);
|
||||||
ecma_string_t *output_str_p = ecma_concat_ecma_strings (src_sep_str_p, ecma_copy_or_ref_ecma_string (source_str_p));
|
ecma_string_t *output_str_p = ecma_concat_ecma_strings (src_sep_str_p, ecma_copy_or_ref_ecma_string (source_str_p));
|
||||||
ecma_deref_ecma_string (source_str_p);
|
ecma_deref_ecma_string (source_str_p);
|
||||||
@ -171,13 +171,13 @@ ecma_builtin_regexp_prototype_to_string (ecma_value_t this_arg) /**< this argume
|
|||||||
output_str_p = concat_p;
|
output_str_p = concat_p;
|
||||||
|
|
||||||
/* Check the global flag */
|
/* Check the global flag */
|
||||||
magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_GLOBAL);
|
magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_GLOBAL);
|
||||||
ecma_property_t *global_prop_p = ecma_op_object_get_property (obj_p, magic_string_p);
|
ecma_property_t *global_prop_p = ecma_op_object_get_property (obj_p, magic_string_p);
|
||||||
ecma_deref_ecma_string (magic_string_p);
|
ecma_deref_ecma_string (magic_string_p);
|
||||||
|
|
||||||
if (ecma_is_value_true (global_prop_p->u.named_data_property.value))
|
if (ecma_is_value_true (global_prop_p->u.named_data_property.value))
|
||||||
{
|
{
|
||||||
ecma_string_t *g_flag_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_G_CHAR);
|
ecma_string_t *g_flag_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_G_CHAR);
|
||||||
concat_p = ecma_concat_ecma_strings (output_str_p, g_flag_str_p);
|
concat_p = ecma_concat_ecma_strings (output_str_p, g_flag_str_p);
|
||||||
ecma_deref_ecma_string (output_str_p);
|
ecma_deref_ecma_string (output_str_p);
|
||||||
ecma_deref_ecma_string (g_flag_str_p);
|
ecma_deref_ecma_string (g_flag_str_p);
|
||||||
@ -185,13 +185,13 @@ ecma_builtin_regexp_prototype_to_string (ecma_value_t this_arg) /**< this argume
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Check the ignoreCase flag */
|
/* Check the ignoreCase flag */
|
||||||
magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_IGNORECASE_UL);
|
magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_IGNORECASE_UL);
|
||||||
ecma_property_t *ignorecase_prop_p = ecma_op_object_get_property (obj_p, magic_string_p);
|
ecma_property_t *ignorecase_prop_p = ecma_op_object_get_property (obj_p, magic_string_p);
|
||||||
ecma_deref_ecma_string (magic_string_p);
|
ecma_deref_ecma_string (magic_string_p);
|
||||||
|
|
||||||
if (ecma_is_value_true (ignorecase_prop_p->u.named_data_property.value))
|
if (ecma_is_value_true (ignorecase_prop_p->u.named_data_property.value))
|
||||||
{
|
{
|
||||||
ecma_string_t *ic_flag_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_I_CHAR);
|
ecma_string_t *ic_flag_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_I_CHAR);
|
||||||
concat_p = ecma_concat_ecma_strings (output_str_p, ic_flag_str_p);
|
concat_p = ecma_concat_ecma_strings (output_str_p, ic_flag_str_p);
|
||||||
ecma_deref_ecma_string (output_str_p);
|
ecma_deref_ecma_string (output_str_p);
|
||||||
ecma_deref_ecma_string (ic_flag_str_p);
|
ecma_deref_ecma_string (ic_flag_str_p);
|
||||||
@ -199,13 +199,13 @@ ecma_builtin_regexp_prototype_to_string (ecma_value_t this_arg) /**< this argume
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Check the global flag */
|
/* Check the global flag */
|
||||||
magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_MULTILINE);
|
magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_MULTILINE);
|
||||||
ecma_property_t *multiline_prop_p = ecma_op_object_get_property (obj_p, magic_string_p);
|
ecma_property_t *multiline_prop_p = ecma_op_object_get_property (obj_p, magic_string_p);
|
||||||
ecma_deref_ecma_string (magic_string_p);
|
ecma_deref_ecma_string (magic_string_p);
|
||||||
|
|
||||||
if (ecma_is_value_true (multiline_prop_p->u.named_data_property.value))
|
if (ecma_is_value_true (multiline_prop_p->u.named_data_property.value))
|
||||||
{
|
{
|
||||||
ecma_string_t *m_flag_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_M_CHAR);
|
ecma_string_t *m_flag_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_M_CHAR);
|
||||||
concat_p = ecma_concat_ecma_strings (output_str_p, m_flag_str_p);
|
concat_p = ecma_concat_ecma_strings (output_str_p, m_flag_str_p);
|
||||||
ecma_deref_ecma_string (output_str_p);
|
ecma_deref_ecma_string (output_str_p);
|
||||||
ecma_deref_ecma_string (m_flag_str_p);
|
ecma_deref_ecma_string (m_flag_str_p);
|
||||||
|
|||||||
@ -33,15 +33,15 @@
|
|||||||
/* Object identifier */
|
/* Object identifier */
|
||||||
OBJECT_ID (ECMA_BUILTIN_ID_REGEXP_PROTOTYPE)
|
OBJECT_ID (ECMA_BUILTIN_ID_REGEXP_PROTOTYPE)
|
||||||
|
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_REGEXP),
|
ecma_builtin_get (ECMA_BUILTIN_ID_REGEXP),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
ROUTINE (ECMA_MAGIC_STRING_EXEC, ecma_builtin_regexp_prototype_exec, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_EXEC, ecma_builtin_regexp_prototype_exec, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TEST, ecma_builtin_regexp_prototype_test, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_TEST, ecma_builtin_regexp_prototype_test, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_regexp_prototype_to_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_regexp_prototype_to_string, 0, 0)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -80,12 +80,12 @@ ecma_builtin_regexp_dispatch_construct (const ecma_value_t *arguments_list_p, /*
|
|||||||
|
|
||||||
if (arguments_list_len == 0)
|
if (arguments_list_len == 0)
|
||||||
{
|
{
|
||||||
ecma_string_t *magic_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_EMPTY_NON_CAPTURE_GROUP);
|
ecma_string_t *magic_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_EMPTY_NON_CAPTURE_GROUP);
|
||||||
ret_value = ecma_op_create_regexp_object (magic_str_p, NULL);
|
ret_value = ecma_op_create_regexp_object (magic_str_p, NULL);
|
||||||
ecma_deref_ecma_string (magic_str_p);
|
ecma_deref_ecma_string (magic_str_p);
|
||||||
}
|
}
|
||||||
else if (ecma_is_value_object (pattern_value)
|
else if (ecma_is_value_object (pattern_value)
|
||||||
&& ecma_object_get_class_name (ecma_get_object_from_value (pattern_value)) == ECMA_MAGIC_STRING_REGEXP_UL)
|
&& ecma_object_get_class_name (ecma_get_object_from_value (pattern_value)) == LIT_MAGIC_STRING_REGEXP_UL)
|
||||||
{
|
{
|
||||||
if (arguments_list_len == 1
|
if (arguments_list_len == 1
|
||||||
|| (arguments_list_len > 1 && ecma_is_value_undefined (flags_value)))
|
|| (arguments_list_len > 1 && ecma_is_value_undefined (flags_value)))
|
||||||
|
|||||||
@ -42,47 +42,47 @@
|
|||||||
OBJECT_ID (ECMA_BUILTIN_ID_REGEXP)
|
OBJECT_ID (ECMA_BUILTIN_ID_REGEXP)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.10.5.1
|
// ECMA-262 v5, 15.10.5.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_REGEXP_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_REGEXP_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.10.7.1
|
// ECMA-262 v5, 15.10.7.1
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_SOURCE,
|
STRING_VALUE (LIT_MAGIC_STRING_SOURCE,
|
||||||
ECMA_MAGIC_STRING_REGEXP_SOURCE_UL,
|
LIT_MAGIC_STRING_REGEXP_SOURCE_UL,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.10.7.2
|
// ECMA-262 v5, 15.10.7.2
|
||||||
SIMPLE_VALUE (ECMA_MAGIC_STRING_GLOBAL,
|
SIMPLE_VALUE (LIT_MAGIC_STRING_GLOBAL,
|
||||||
ECMA_SIMPLE_VALUE_FALSE,
|
ECMA_SIMPLE_VALUE_FALSE,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.10.7.3
|
// ECMA-262 v5, 15.10.7.3
|
||||||
SIMPLE_VALUE (ECMA_MAGIC_STRING_IGNORECASE_UL,
|
SIMPLE_VALUE (LIT_MAGIC_STRING_IGNORECASE_UL,
|
||||||
ECMA_SIMPLE_VALUE_FALSE,
|
ECMA_SIMPLE_VALUE_FALSE,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
// ECMA-262 v5, 15.10.7.4
|
// ECMA-262 v5, 15.10.7.4
|
||||||
SIMPLE_VALUE (ECMA_MAGIC_STRING_MULTILINE,
|
SIMPLE_VALUE (LIT_MAGIC_STRING_MULTILINE,
|
||||||
ECMA_SIMPLE_VALUE_FALSE,
|
ECMA_SIMPLE_VALUE_FALSE,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
// ECMA-262 v5, 15.10.7.5
|
// ECMA-262 v5, 15.10.7.5
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LASTINDEX_UL,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LASTINDEX_UL,
|
||||||
0,
|
0,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
ECMA_PROPERTY_NOT_CONFIGURABLE)
|
||||||
|
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
2,
|
2,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -67,7 +67,7 @@ ecma_builtin_string_prototype_object_to_string (ecma_value_t this_arg) /**< this
|
|||||||
{
|
{
|
||||||
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
ecma_object_t *obj_p = ecma_get_object_from_value (this_arg);
|
||||||
|
|
||||||
if (ecma_object_get_class_name (obj_p) == ECMA_MAGIC_STRING_STRING_UL)
|
if (ecma_object_get_class_name (obj_p) == LIT_MAGIC_STRING_STRING_UL)
|
||||||
{
|
{
|
||||||
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
ecma_property_t *prim_value_prop_p = ecma_get_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_STRING_VALUE);
|
ECMA_INTERNAL_PROPERTY_PRIMITIVE_STRING_VALUE);
|
||||||
|
|||||||
@ -36,7 +36,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_STRING_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.5.4.1
|
// 15.5.4.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_STRING),
|
ecma_builtin_get (ECMA_BUILTIN_ID_STRING),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -44,25 +44,25 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_STRING_UL, ecma_builtin_string_prototype_object_to_string, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_STRING_UL, ecma_builtin_string_prototype_object_to_string, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_string_prototype_object_value_of, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_VALUE_OF_UL, ecma_builtin_string_prototype_object_value_of, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_CONCAT, ecma_builtin_string_prototype_object_concat, NON_FIXED, 1)
|
ROUTINE (LIT_MAGIC_STRING_CONCAT, ecma_builtin_string_prototype_object_concat, NON_FIXED, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SLICE, ecma_builtin_string_prototype_object_slice, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SLICE, ecma_builtin_string_prototype_object_slice, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_INDEX_OF_UL, ecma_builtin_string_prototype_object_index_of, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_INDEX_OF_UL, ecma_builtin_string_prototype_object_index_of, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_LAST_INDEX_OF_UL, ecma_builtin_string_prototype_object_last_index_of, 2, 1)
|
ROUTINE (LIT_MAGIC_STRING_LAST_INDEX_OF_UL, ecma_builtin_string_prototype_object_last_index_of, 2, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_CHAR_AT_UL, ecma_builtin_string_prototype_object_char_at, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_CHAR_AT_UL, ecma_builtin_string_prototype_object_char_at, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_CHAR_CODE_AT_UL, ecma_builtin_string_prototype_object_char_code_at, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_CHAR_CODE_AT_UL, ecma_builtin_string_prototype_object_char_code_at, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_LOCALE_COMPARE_UL, ecma_builtin_string_prototype_object_locale_compare, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_LOCALE_COMPARE_UL, ecma_builtin_string_prototype_object_locale_compare, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_MATCH, ecma_builtin_string_prototype_object_match, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_MATCH, ecma_builtin_string_prototype_object_match, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_REPLACE, ecma_builtin_string_prototype_object_replace, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_REPLACE, ecma_builtin_string_prototype_object_replace, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SEARCH, ecma_builtin_string_prototype_object_search, 1, 1)
|
ROUTINE (LIT_MAGIC_STRING_SEARCH, ecma_builtin_string_prototype_object_search, 1, 1)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SPLIT, ecma_builtin_string_prototype_object_split, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SPLIT, ecma_builtin_string_prototype_object_split, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_SUBSTRING, ecma_builtin_string_prototype_object_substring, 2, 2)
|
ROUTINE (LIT_MAGIC_STRING_SUBSTRING, ecma_builtin_string_prototype_object_substring, 2, 2)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOWER_CASE_UL, ecma_builtin_string_prototype_object_to_lower_case, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOWER_CASE_UL, ecma_builtin_string_prototype_object_to_lower_case, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOCALE_LOWER_CASE_UL, ecma_builtin_string_prototype_object_to_locale_lower_case, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_LOWER_CASE_UL, ecma_builtin_string_prototype_object_to_locale_lower_case, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_UPPER_CASE_UL, ecma_builtin_string_prototype_object_to_upper_case, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_UPPER_CASE_UL, ecma_builtin_string_prototype_object_to_upper_case, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TO_LOCALE_UPPER_CASE_UL, ecma_builtin_string_prototype_object_to_locale_upper_case, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TO_LOCALE_UPPER_CASE_UL, ecma_builtin_string_prototype_object_to_locale_upper_case, 0, 0)
|
||||||
ROUTINE (ECMA_MAGIC_STRING_TRIM, ecma_builtin_string_prototype_object_trim, 0, 0)
|
ROUTINE (LIT_MAGIC_STRING_TRIM, ecma_builtin_string_prototype_object_trim, 0, 0)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -122,7 +122,7 @@ ecma_builtin_string_dispatch_call (const ecma_value_t *arguments_list_p, /**< ar
|
|||||||
|
|
||||||
if (arguments_list_len == 0)
|
if (arguments_list_len == 0)
|
||||||
{
|
{
|
||||||
ecma_string_t *str_p = ecma_new_ecma_string_from_magic_string_id (ECMA_MAGIC_STRING__EMPTY);
|
ecma_string_t *str_p = ecma_new_ecma_string_from_magic_string_id (LIT_MAGIC_STRING__EMPTY);
|
||||||
ecma_value_t str_value = ecma_make_string_value (str_p);
|
ecma_value_t str_value = ecma_make_string_value (str_p);
|
||||||
|
|
||||||
ret_value = ecma_make_normal_completion_value (str_value);
|
ret_value = ecma_make_normal_completion_value (str_value);
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_STRING)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.5.3
|
// 15.5.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.7.3.1
|
// 15.7.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_STRING_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_STRING_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -58,7 +58,7 @@ OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
|||||||
|
|
||||||
/* Routine properties:
|
/* Routine properties:
|
||||||
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
* (property name, C routine name, arguments number or NON_FIXED, value of the routine's length property) */
|
||||||
ROUTINE (ECMA_MAGIC_STRING_FROM_CHAR_CODE_UL, ecma_builtin_string_object_from_char_code, NON_FIXED, 1)
|
ROUTINE (LIT_MAGIC_STRING_FROM_CHAR_CODE_UL, ecma_builtin_string_object_from_char_code, NON_FIXED, 1)
|
||||||
|
|
||||||
#undef OBJECT_ID
|
#undef OBJECT_ID
|
||||||
#undef SIMPLE_VALUE
|
#undef SIMPLE_VALUE
|
||||||
|
|||||||
@ -36,22 +36,22 @@ OBJECT_ID (ECMA_BUILTIN_ID_SYNTAX_ERROR_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.7.8
|
// 15.11.7.8
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_SYNTAX_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_SYNTAX_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.9
|
// 15.11.7.9
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_NAME,
|
STRING_VALUE (LIT_MAGIC_STRING_NAME,
|
||||||
ECMA_MAGIC_STRING_SYNTAX_ERROR_UL,
|
LIT_MAGIC_STRING_SYNTAX_ERROR_UL,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.10
|
// 15.11.7.10
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_MESSAGE,
|
STRING_VALUE (LIT_MAGIC_STRING_MESSAGE,
|
||||||
ECMA_MAGIC_STRING__EMPTY,
|
LIT_MAGIC_STRING__EMPTY,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_SYNTAX_ERROR)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.11.3
|
// 15.11.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.3.1
|
// 15.11.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_SYNTAX_ERROR_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_SYNTAX_ERROR_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -33,7 +33,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_TYPE_ERROR_THROWER)
|
|||||||
/* Number properties:
|
/* Number properties:
|
||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
0,
|
0,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -36,22 +36,22 @@ OBJECT_ID (ECMA_BUILTIN_ID_TYPE_ERROR_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.7.8
|
// 15.11.7.8
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_TYPE_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_TYPE_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.9
|
// 15.11.7.9
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_NAME,
|
STRING_VALUE (LIT_MAGIC_STRING_NAME,
|
||||||
ECMA_MAGIC_STRING_TYPE_ERROR_UL,
|
LIT_MAGIC_STRING_TYPE_ERROR_UL,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.10
|
// 15.11.7.10
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_MESSAGE,
|
STRING_VALUE (LIT_MAGIC_STRING_MESSAGE,
|
||||||
ECMA_MAGIC_STRING__EMPTY,
|
LIT_MAGIC_STRING__EMPTY,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_TYPE_ERROR)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.11.3
|
// 15.11.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.3.1
|
// 15.11.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_TYPE_ERROR_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_TYPE_ERROR_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -36,22 +36,22 @@ OBJECT_ID (ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE)
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.7.8
|
// 15.11.7.8
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_CONSTRUCTOR,
|
OBJECT_VALUE (LIT_MAGIC_STRING_CONSTRUCTOR,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_URI_ERROR),
|
ecma_builtin_get (ECMA_BUILTIN_ID_URI_ERROR),
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.9
|
// 15.11.7.9
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_NAME,
|
STRING_VALUE (LIT_MAGIC_STRING_NAME,
|
||||||
ECMA_MAGIC_STRING_URI_ERROR_UL,
|
LIT_MAGIC_STRING_URI_ERROR_UL,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|
||||||
// 15.11.7.10
|
// 15.11.7.10
|
||||||
STRING_VALUE (ECMA_MAGIC_STRING_MESSAGE,
|
STRING_VALUE (LIT_MAGIC_STRING_MESSAGE,
|
||||||
ECMA_MAGIC_STRING__EMPTY,
|
LIT_MAGIC_STRING__EMPTY,
|
||||||
ECMA_PROPERTY_WRITABLE,
|
ECMA_PROPERTY_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
ECMA_PROPERTY_CONFIGURABLE)
|
ECMA_PROPERTY_CONFIGURABLE)
|
||||||
|
|||||||
@ -40,7 +40,7 @@ OBJECT_ID (ECMA_BUILTIN_ID_URI_ERROR)
|
|||||||
* (property name, number value, writable, enumerable, configurable) */
|
* (property name, number value, writable, enumerable, configurable) */
|
||||||
|
|
||||||
// 15.11.3
|
// 15.11.3
|
||||||
NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
NUMBER_VALUE (LIT_MAGIC_STRING_LENGTH,
|
||||||
1,
|
1,
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
@ -50,7 +50,7 @@ NUMBER_VALUE (ECMA_MAGIC_STRING_LENGTH,
|
|||||||
* (property name, object pointer getter) */
|
* (property name, object pointer getter) */
|
||||||
|
|
||||||
// 15.11.3.1
|
// 15.11.3.1
|
||||||
OBJECT_VALUE (ECMA_MAGIC_STRING_PROTOTYPE,
|
OBJECT_VALUE (LIT_MAGIC_STRING_PROTOTYPE,
|
||||||
ecma_builtin_get (ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE),
|
ecma_builtin_get (ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE),
|
||||||
ECMA_PROPERTY_NOT_WRITABLE,
|
ECMA_PROPERTY_NOT_WRITABLE,
|
||||||
ECMA_PROPERTY_NOT_ENUMERABLE,
|
ECMA_PROPERTY_NOT_ENUMERABLE,
|
||||||
|
|||||||
@ -51,9 +51,9 @@ ecma_builtin_make_function_object_for_routine (ecma_builtin_id_t builtin_id,
|
|||||||
uint16_t routine_id,
|
uint16_t routine_id,
|
||||||
ecma_number_t length_prop_num_value);
|
ecma_number_t length_prop_num_value);
|
||||||
extern int32_t
|
extern int32_t
|
||||||
ecma_builtin_bin_search_for_magic_string_id_in_array (const ecma_magic_string_id_t ids[],
|
ecma_builtin_bin_search_for_magic_string_id_in_array (const lit_magic_string_id_t ids[],
|
||||||
ecma_length_t array_length,
|
ecma_length_t array_length,
|
||||||
ecma_magic_string_id_t key);
|
lit_magic_string_id_t key);
|
||||||
|
|
||||||
#define BUILTIN(builtin_id, \
|
#define BUILTIN(builtin_id, \
|
||||||
object_type, \
|
object_type, \
|
||||||
|
|||||||
@ -120,7 +120,7 @@ ecma_builtin_init_object (ecma_builtin_id_t obj_builtin_id, /**< built-in ID */
|
|||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_STRING_PROTOTYPE:
|
case ECMA_BUILTIN_ID_STRING_PROTOTYPE:
|
||||||
{
|
{
|
||||||
ecma_string_t *prim_prop_str_value_p = ecma_get_magic_string (ECMA_MAGIC_STRING__EMPTY);
|
ecma_string_t *prim_prop_str_value_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);
|
||||||
|
|
||||||
ecma_property_t *prim_value_prop_p;
|
ecma_property_t *prim_value_prop_p;
|
||||||
prim_value_prop_p = ecma_create_internal_property (object_obj_p,
|
prim_value_prop_p = ecma_create_internal_property (object_obj_p,
|
||||||
@ -359,7 +359,7 @@ ecma_builtin_make_function_object_for_routine (ecma_builtin_id_t builtin_id, /**
|
|||||||
JERRY_ASSERT ((uint32_t) packed_value == packed_value);
|
JERRY_ASSERT ((uint32_t) packed_value == packed_value);
|
||||||
routine_id_prop_p->u.internal_property.value = (uint32_t) packed_value;
|
routine_id_prop_p->u.internal_property.value = (uint32_t) packed_value;
|
||||||
|
|
||||||
ecma_string_t* magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t* magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ecma_property_t *len_prop_p = ecma_create_named_data_property (func_obj_p,
|
ecma_property_t *len_prop_p = ecma_create_named_data_property (func_obj_p,
|
||||||
magic_string_length_p,
|
magic_string_length_p,
|
||||||
false, false, false);
|
false, false, false);
|
||||||
@ -585,10 +585,10 @@ ecma_builtin_dispatch_routine (ecma_builtin_id_t builtin_object_id, /**< built-i
|
|||||||
* -1 - otherwise.
|
* -1 - otherwise.
|
||||||
*/
|
*/
|
||||||
int32_t
|
int32_t
|
||||||
ecma_builtin_bin_search_for_magic_string_id_in_array (const ecma_magic_string_id_t ids[], /**< array to search in */
|
ecma_builtin_bin_search_for_magic_string_id_in_array (const lit_magic_string_id_t ids[], /**< array to search in */
|
||||||
ecma_length_t array_length, /**< number of elements
|
ecma_length_t array_length, /**< number of elements
|
||||||
in the array */
|
in the array */
|
||||||
ecma_magic_string_id_t key) /**< value to search for */
|
lit_magic_string_id_t key) /**< value to search for */
|
||||||
{
|
{
|
||||||
#ifndef JERRY_NDEBUG
|
#ifndef JERRY_NDEBUG
|
||||||
/* For binary search the values should be sorted */
|
/* For binary search the values should be sorted */
|
||||||
|
|||||||
@ -116,7 +116,7 @@ ecma_op_create_array_object (const ecma_value_t *arguments_list_p, /**< list of
|
|||||||
* See also: ecma_object_get_class_name
|
* See also: ecma_object_get_class_name
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ecma_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *length_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ecma_number_t *length_num_p = ecma_alloc_number ();
|
ecma_number_t *length_num_p = ecma_alloc_number ();
|
||||||
*length_num_p = ecma_uint32_to_number (length);
|
*length_num_p = ecma_uint32_to_number (length);
|
||||||
|
|
||||||
@ -179,7 +179,7 @@ ecma_op_array_object_define_own_property (ecma_object_t *obj_p, /**< the array o
|
|||||||
|
|
||||||
|
|
||||||
// 1.
|
// 1.
|
||||||
ecma_string_t* magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t* magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ecma_property_t *len_prop_p = ecma_op_object_get_own_property (obj_p, magic_string_length_p);
|
ecma_property_t *len_prop_p = ecma_op_object_get_own_property (obj_p, magic_string_length_p);
|
||||||
JERRY_ASSERT (len_prop_p != NULL && len_prop_p->type == ECMA_PROPERTY_NAMEDDATA);
|
JERRY_ASSERT (len_prop_p != NULL && len_prop_p->type == ECMA_PROPERTY_NAMEDDATA);
|
||||||
|
|
||||||
@ -242,7 +242,7 @@ ecma_op_array_object_define_own_property (ecma_object_t *obj_p, /**< the array o
|
|||||||
if (new_len_uint32 >= old_len_uint32)
|
if (new_len_uint32 >= old_len_uint32)
|
||||||
{
|
{
|
||||||
// i.
|
// i.
|
||||||
magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ret_value = ecma_op_general_object_define_own_property (obj_p,
|
ret_value = ecma_op_general_object_define_own_property (obj_p,
|
||||||
magic_string_length_p,
|
magic_string_length_p,
|
||||||
&new_len_property_desc,
|
&new_len_property_desc,
|
||||||
@ -276,7 +276,7 @@ ecma_op_array_object_define_own_property (ecma_object_t *obj_p, /**< the array o
|
|||||||
}
|
}
|
||||||
|
|
||||||
// j.
|
// j.
|
||||||
magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ecma_completion_value_t succeeded = ecma_op_general_object_define_own_property (obj_p,
|
ecma_completion_value_t succeeded = ecma_op_general_object_define_own_property (obj_p,
|
||||||
magic_string_length_p,
|
magic_string_length_p,
|
||||||
&new_len_property_desc,
|
&new_len_property_desc,
|
||||||
@ -329,7 +329,7 @@ ecma_op_array_object_define_own_property (ecma_object_t *obj_p, /**< the array o
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 3.
|
// 3.
|
||||||
ecma_string_t *magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ecma_completion_value_t completion = ecma_op_general_object_define_own_property (obj_p,
|
ecma_completion_value_t completion = ecma_op_general_object_define_own_property (obj_p,
|
||||||
magic_string_length_p,
|
magic_string_length_p,
|
||||||
&new_len_property_desc,
|
&new_len_property_desc,
|
||||||
@ -360,7 +360,7 @@ ecma_op_array_object_define_own_property (ecma_object_t *obj_p, /**< the array o
|
|||||||
prop_desc_not_writable.is_writable = false;
|
prop_desc_not_writable.is_writable = false;
|
||||||
|
|
||||||
ecma_completion_value_t completion_set_not_writable;
|
ecma_completion_value_t completion_set_not_writable;
|
||||||
magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
completion_set_not_writable = ecma_op_general_object_define_own_property (obj_p,
|
completion_set_not_writable = ecma_op_general_object_define_own_property (obj_p,
|
||||||
magic_string_length_p,
|
magic_string_length_p,
|
||||||
&prop_desc_not_writable,
|
&prop_desc_not_writable,
|
||||||
|
|||||||
@ -48,7 +48,7 @@ ecma_op_array_get_separator_string (ecma_value_t separator) /** < possible separ
|
|||||||
{
|
{
|
||||||
if (ecma_is_value_undefined (separator))
|
if (ecma_is_value_undefined (separator))
|
||||||
{
|
{
|
||||||
ecma_string_t *comma_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_COMMA_CHAR);
|
ecma_string_t *comma_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_COMMA_CHAR);
|
||||||
return ecma_make_normal_completion_value (ecma_make_string_value (comma_string_p));
|
return ecma_make_normal_completion_value (ecma_make_string_value (comma_string_p));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -80,7 +80,7 @@ ecma_op_array_get_to_string_at_index (ecma_object_t *obj_p, /** < this object */
|
|||||||
if (ecma_is_value_undefined (index_value)
|
if (ecma_is_value_undefined (index_value)
|
||||||
|| ecma_is_value_null (index_value))
|
|| ecma_is_value_null (index_value))
|
||||||
{
|
{
|
||||||
ecma_string_t *empty_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING__EMPTY);
|
ecma_string_t *empty_string_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);
|
||||||
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (empty_string_p));
|
ret_value = ecma_make_normal_completion_value (ecma_make_string_value (empty_string_p));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -63,7 +63,7 @@ ecma_op_create_boolean_object (ecma_value_t arg) /**< argument passed to the Boo
|
|||||||
ecma_deref_object (prototype_obj_p);
|
ecma_deref_object (prototype_obj_p);
|
||||||
|
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_BOOLEAN_UL;
|
class_prop_p->u.internal_property.value = LIT_MAGIC_STRING_BOOLEAN_UL;
|
||||||
|
|
||||||
ecma_property_t *prim_value_prop_p = ecma_create_internal_property (obj_p,
|
ecma_property_t *prim_value_prop_p = ecma_create_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_BOOLEAN_VALUE);
|
ECMA_INTERNAL_PROPERTY_PRIMITIVE_BOOLEAN_VALUE);
|
||||||
|
|||||||
@ -353,11 +353,11 @@ ecma_op_to_string (ecma_value_t value) /**< ecma-value */
|
|||||||
}
|
}
|
||||||
else if (ecma_is_value_undefined (value))
|
else if (ecma_is_value_undefined (value))
|
||||||
{
|
{
|
||||||
res_p = ecma_get_magic_string (ECMA_MAGIC_STRING_UNDEFINED);
|
res_p = ecma_get_magic_string (LIT_MAGIC_STRING_UNDEFINED);
|
||||||
}
|
}
|
||||||
else if (ecma_is_value_null (value))
|
else if (ecma_is_value_null (value))
|
||||||
{
|
{
|
||||||
res_p = ecma_get_magic_string (ECMA_MAGIC_STRING_NULL);
|
res_p = ecma_get_magic_string (LIT_MAGIC_STRING_NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -365,11 +365,11 @@ ecma_op_to_string (ecma_value_t value) /**< ecma-value */
|
|||||||
|
|
||||||
if (ecma_is_value_true (value))
|
if (ecma_is_value_true (value))
|
||||||
{
|
{
|
||||||
res_p = ecma_get_magic_string (ECMA_MAGIC_STRING_TRUE);
|
res_p = ecma_get_magic_string (LIT_MAGIC_STRING_TRUE);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res_p = ecma_get_magic_string (ECMA_MAGIC_STRING_FALSE);
|
res_p = ecma_get_magic_string (LIT_MAGIC_STRING_FALSE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -457,7 +457,7 @@ ecma_op_from_property_descriptor (const ecma_property_descriptor_t* src_prop_des
|
|||||||
// a.
|
// a.
|
||||||
prop_desc.value = src_prop_desc_p->value;
|
prop_desc.value = src_prop_desc_p->value;
|
||||||
|
|
||||||
ecma_string_t *value_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_VALUE);
|
ecma_string_t *value_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_VALUE);
|
||||||
completion = ecma_op_object_define_own_property (obj_p,
|
completion = ecma_op_object_define_own_property (obj_p,
|
||||||
value_magic_string_p,
|
value_magic_string_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -470,7 +470,7 @@ ecma_op_from_property_descriptor (const ecma_property_descriptor_t* src_prop_des
|
|||||||
prop_desc.value = ecma_make_simple_value (is_writable ? ECMA_SIMPLE_VALUE_TRUE
|
prop_desc.value = ecma_make_simple_value (is_writable ? ECMA_SIMPLE_VALUE_TRUE
|
||||||
: ECMA_SIMPLE_VALUE_FALSE);
|
: ECMA_SIMPLE_VALUE_FALSE);
|
||||||
|
|
||||||
ecma_string_t *writable_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_WRITABLE);
|
ecma_string_t *writable_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_WRITABLE);
|
||||||
completion = ecma_op_object_define_own_property (obj_p,
|
completion = ecma_op_object_define_own_property (obj_p,
|
||||||
writable_magic_string_p,
|
writable_magic_string_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -494,7 +494,7 @@ ecma_op_from_property_descriptor (const ecma_property_descriptor_t* src_prop_des
|
|||||||
prop_desc.value = ecma_make_object_value (src_prop_desc_p->get_p);
|
prop_desc.value = ecma_make_object_value (src_prop_desc_p->get_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_t *get_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_GET);
|
ecma_string_t *get_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_GET);
|
||||||
completion = ecma_op_object_define_own_property (obj_p,
|
completion = ecma_op_object_define_own_property (obj_p,
|
||||||
get_magic_string_p,
|
get_magic_string_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -512,7 +512,7 @@ ecma_op_from_property_descriptor (const ecma_property_descriptor_t* src_prop_des
|
|||||||
prop_desc.value = ecma_make_object_value (src_prop_desc_p->set_p);
|
prop_desc.value = ecma_make_object_value (src_prop_desc_p->set_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_t *set_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_SET);
|
ecma_string_t *set_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_SET);
|
||||||
completion = ecma_op_object_define_own_property (obj_p,
|
completion = ecma_op_object_define_own_property (obj_p,
|
||||||
set_magic_string_p,
|
set_magic_string_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -525,7 +525,7 @@ ecma_op_from_property_descriptor (const ecma_property_descriptor_t* src_prop_des
|
|||||||
prop_desc.value = ecma_make_simple_value (is_enumerable ? ECMA_SIMPLE_VALUE_TRUE
|
prop_desc.value = ecma_make_simple_value (is_enumerable ? ECMA_SIMPLE_VALUE_TRUE
|
||||||
: ECMA_SIMPLE_VALUE_FALSE);
|
: ECMA_SIMPLE_VALUE_FALSE);
|
||||||
|
|
||||||
ecma_string_t *enumerable_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_ENUMERABLE);
|
ecma_string_t *enumerable_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_ENUMERABLE);
|
||||||
completion = ecma_op_object_define_own_property (obj_p,
|
completion = ecma_op_object_define_own_property (obj_p,
|
||||||
enumerable_magic_string_p,
|
enumerable_magic_string_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -537,7 +537,7 @@ ecma_op_from_property_descriptor (const ecma_property_descriptor_t* src_prop_des
|
|||||||
prop_desc.value = ecma_make_simple_value (is_configurable ? ECMA_SIMPLE_VALUE_TRUE
|
prop_desc.value = ecma_make_simple_value (is_configurable ? ECMA_SIMPLE_VALUE_TRUE
|
||||||
: ECMA_SIMPLE_VALUE_FALSE);
|
: ECMA_SIMPLE_VALUE_FALSE);
|
||||||
|
|
||||||
ecma_string_t *configurable_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_CONFIGURABLE);
|
ecma_string_t *configurable_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_CONFIGURABLE);
|
||||||
completion = ecma_op_object_define_own_property (obj_p,
|
completion = ecma_op_object_define_own_property (obj_p,
|
||||||
configurable_magic_string_p,
|
configurable_magic_string_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -578,7 +578,7 @@ ecma_op_to_property_descriptor (ecma_value_t obj_value, /**< object value */
|
|||||||
ecma_property_descriptor_t prop_desc = ecma_make_empty_property_descriptor ();
|
ecma_property_descriptor_t prop_desc = ecma_make_empty_property_descriptor ();
|
||||||
|
|
||||||
// 3.
|
// 3.
|
||||||
ecma_string_t *enumerable_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_ENUMERABLE);
|
ecma_string_t *enumerable_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_ENUMERABLE);
|
||||||
|
|
||||||
if (ecma_op_object_get_property (obj_p, enumerable_magic_string_p) != NULL)
|
if (ecma_op_object_get_property (obj_p, enumerable_magic_string_p) != NULL)
|
||||||
{
|
{
|
||||||
@ -612,7 +612,7 @@ ecma_op_to_property_descriptor (ecma_value_t obj_value, /**< object value */
|
|||||||
JERRY_ASSERT (ecma_is_completion_value_empty (ret_value));
|
JERRY_ASSERT (ecma_is_completion_value_empty (ret_value));
|
||||||
|
|
||||||
// 4.
|
// 4.
|
||||||
ecma_string_t *configurable_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_CONFIGURABLE);
|
ecma_string_t *configurable_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_CONFIGURABLE);
|
||||||
|
|
||||||
if (ecma_op_object_get_property (obj_p, configurable_magic_string_p) != NULL)
|
if (ecma_op_object_get_property (obj_p, configurable_magic_string_p) != NULL)
|
||||||
{
|
{
|
||||||
@ -647,7 +647,7 @@ ecma_op_to_property_descriptor (ecma_value_t obj_value, /**< object value */
|
|||||||
JERRY_ASSERT (ecma_is_completion_value_empty (ret_value));
|
JERRY_ASSERT (ecma_is_completion_value_empty (ret_value));
|
||||||
|
|
||||||
// 5.
|
// 5.
|
||||||
ecma_string_t *value_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_VALUE);
|
ecma_string_t *value_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_VALUE);
|
||||||
|
|
||||||
if (ecma_op_object_get_property (obj_p, value_magic_string_p) != NULL)
|
if (ecma_op_object_get_property (obj_p, value_magic_string_p) != NULL)
|
||||||
{
|
{
|
||||||
@ -669,7 +669,7 @@ ecma_op_to_property_descriptor (ecma_value_t obj_value, /**< object value */
|
|||||||
JERRY_ASSERT (ecma_is_completion_value_empty (ret_value));
|
JERRY_ASSERT (ecma_is_completion_value_empty (ret_value));
|
||||||
|
|
||||||
// 6.
|
// 6.
|
||||||
ecma_string_t *writable_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_WRITABLE);
|
ecma_string_t *writable_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_WRITABLE);
|
||||||
|
|
||||||
if (ecma_op_object_get_property (obj_p, writable_magic_string_p) != NULL)
|
if (ecma_op_object_get_property (obj_p, writable_magic_string_p) != NULL)
|
||||||
{
|
{
|
||||||
@ -704,7 +704,7 @@ ecma_op_to_property_descriptor (ecma_value_t obj_value, /**< object value */
|
|||||||
JERRY_ASSERT (ecma_is_completion_value_empty (ret_value));
|
JERRY_ASSERT (ecma_is_completion_value_empty (ret_value));
|
||||||
|
|
||||||
// 7.
|
// 7.
|
||||||
ecma_string_t *get_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_GET);
|
ecma_string_t *get_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_GET);
|
||||||
|
|
||||||
if (ecma_op_object_get_property (obj_p, get_magic_string_p) != NULL)
|
if (ecma_op_object_get_property (obj_p, get_magic_string_p) != NULL)
|
||||||
{
|
{
|
||||||
@ -748,7 +748,7 @@ ecma_op_to_property_descriptor (ecma_value_t obj_value, /**< object value */
|
|||||||
|
|
||||||
// 8.
|
// 8.
|
||||||
|
|
||||||
ecma_string_t *set_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_SET);
|
ecma_string_t *set_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_SET);
|
||||||
|
|
||||||
if (ecma_op_object_get_property (obj_p, set_magic_string_p) != NULL)
|
if (ecma_op_object_get_property (obj_p, set_magic_string_p) != NULL)
|
||||||
{
|
{
|
||||||
|
|||||||
@ -96,7 +96,7 @@ ecma_new_standard_error (ecma_standard_error_t error_type) /**< native error typ
|
|||||||
|
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (new_error_obj_p,
|
ecma_property_t *class_prop_p = ecma_create_internal_property (new_error_obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_CLASS);
|
ECMA_INTERNAL_PROPERTY_CLASS);
|
||||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_ERROR_UL;
|
class_prop_p->u.internal_property.value = LIT_MAGIC_STRING_ERROR_UL;
|
||||||
|
|
||||||
return new_error_obj_p;
|
return new_error_obj_p;
|
||||||
#else /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS */
|
#else /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS */
|
||||||
@ -118,7 +118,7 @@ ecma_new_standard_error_with_message (ecma_standard_error_t error_type, /**< nat
|
|||||||
{
|
{
|
||||||
ecma_object_t *new_error_obj_p = ecma_new_standard_error (error_type);
|
ecma_object_t *new_error_obj_p = ecma_new_standard_error (error_type);
|
||||||
|
|
||||||
ecma_string_t *message_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_MESSAGE);
|
ecma_string_t *message_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_MESSAGE);
|
||||||
ecma_property_t *prop_p = ecma_create_named_data_property (new_error_obj_p,
|
ecma_property_t *prop_p = ecma_create_named_data_property (new_error_obj_p,
|
||||||
message_magic_string_p,
|
message_magic_string_p,
|
||||||
true, false, true);
|
true, false, true);
|
||||||
|
|||||||
@ -217,7 +217,7 @@ ecma_op_create_function_object (ecma_string_t* formal_parameter_list_p[], /**< f
|
|||||||
length_prop_desc.is_value_defined = true;
|
length_prop_desc.is_value_defined = true;
|
||||||
length_prop_desc.value = ecma_make_number_value (len_p);
|
length_prop_desc.value = ecma_make_number_value (len_p);
|
||||||
|
|
||||||
ecma_string_t* magic_string_length_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t* magic_string_length_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ecma_completion_value_t completion = ecma_op_object_define_own_property (f,
|
ecma_completion_value_t completion = ecma_op_object_define_own_property (f,
|
||||||
magic_string_length_p,
|
magic_string_length_p,
|
||||||
&length_prop_desc,
|
&length_prop_desc,
|
||||||
@ -249,7 +249,7 @@ ecma_op_create_function_object (ecma_string_t* formal_parameter_list_p[], /**< f
|
|||||||
prop_desc.is_configurable = true;
|
prop_desc.is_configurable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_t *magic_string_constructor_p = ecma_get_magic_string (ECMA_MAGIC_STRING_CONSTRUCTOR);
|
ecma_string_t *magic_string_constructor_p = ecma_get_magic_string (LIT_MAGIC_STRING_CONSTRUCTOR);
|
||||||
ecma_op_object_define_own_property (proto_p,
|
ecma_op_object_define_own_property (proto_p,
|
||||||
magic_string_constructor_p,
|
magic_string_constructor_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -259,7 +259,7 @@ ecma_op_create_function_object (ecma_string_t* formal_parameter_list_p[], /**< f
|
|||||||
// 18.
|
// 18.
|
||||||
prop_desc.value = ecma_make_object_value (proto_p);
|
prop_desc.value = ecma_make_object_value (proto_p);
|
||||||
prop_desc.is_configurable = false;
|
prop_desc.is_configurable = false;
|
||||||
ecma_string_t *magic_string_prototype_p = ecma_get_magic_string (ECMA_MAGIC_STRING_PROTOTYPE);
|
ecma_string_t *magic_string_prototype_p = ecma_get_magic_string (LIT_MAGIC_STRING_PROTOTYPE);
|
||||||
ecma_op_object_define_own_property (f,
|
ecma_op_object_define_own_property (f,
|
||||||
magic_string_prototype_p,
|
magic_string_prototype_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -288,14 +288,14 @@ ecma_op_create_function_object (ecma_string_t* formal_parameter_list_p[], /**< f
|
|||||||
prop_desc.set_p = thrower_p;
|
prop_desc.set_p = thrower_p;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_t *magic_string_caller_p = ecma_get_magic_string (ECMA_MAGIC_STRING_CALLER);
|
ecma_string_t *magic_string_caller_p = ecma_get_magic_string (LIT_MAGIC_STRING_CALLER);
|
||||||
ecma_op_object_define_own_property (f,
|
ecma_op_object_define_own_property (f,
|
||||||
magic_string_caller_p,
|
magic_string_caller_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
false);
|
false);
|
||||||
ecma_deref_ecma_string (magic_string_caller_p);
|
ecma_deref_ecma_string (magic_string_caller_p);
|
||||||
|
|
||||||
ecma_string_t *magic_string_arguments_p = ecma_get_magic_string (ECMA_MAGIC_STRING_ARGUMENTS);
|
ecma_string_t *magic_string_arguments_p = ecma_get_magic_string (LIT_MAGIC_STRING_ARGUMENTS);
|
||||||
ecma_op_object_define_own_property (f,
|
ecma_op_object_define_own_property (f,
|
||||||
magic_string_arguments_p,
|
magic_string_arguments_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -352,7 +352,7 @@ ecma_op_create_external_function_object (ecma_external_pointer_t code_p) /**< po
|
|||||||
prop_desc.is_configurable = false;
|
prop_desc.is_configurable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_t *magic_string_prototype_p = ecma_get_magic_string (ECMA_MAGIC_STRING_PROTOTYPE);
|
ecma_string_t *magic_string_prototype_p = ecma_get_magic_string (LIT_MAGIC_STRING_PROTOTYPE);
|
||||||
ecma_op_object_define_own_property (function_obj_p,
|
ecma_op_object_define_own_property (function_obj_p,
|
||||||
magic_string_prototype_p,
|
magic_string_prototype_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -459,7 +459,7 @@ ecma_function_call_setup_args_variables (ecma_object_t *func_obj_p, /**< Functio
|
|||||||
* significantly.
|
* significantly.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ecma_string_t *arguments_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_ARGUMENTS);
|
ecma_string_t *arguments_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_ARGUMENTS);
|
||||||
|
|
||||||
bool binding_already_declared = ecma_op_has_binding (env_p, arguments_string_p);
|
bool binding_already_declared = ecma_op_has_binding (env_p, arguments_string_p);
|
||||||
|
|
||||||
@ -526,7 +526,7 @@ ecma_op_function_has_instance (ecma_object_t *func_obj_p, /**< Function object *
|
|||||||
|
|
||||||
ecma_object_t* v_obj_p = ecma_get_object_from_value (value);
|
ecma_object_t* v_obj_p = ecma_get_object_from_value (value);
|
||||||
|
|
||||||
ecma_string_t *prototype_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_PROTOTYPE);
|
ecma_string_t *prototype_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_PROTOTYPE);
|
||||||
|
|
||||||
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
|
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
|
||||||
|
|
||||||
@ -739,7 +739,7 @@ ecma_op_function_construct_simple_or_external (ecma_object_t *func_obj_p, /**< F
|
|||||||
|
|
||||||
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
|
ecma_completion_value_t ret_value = ecma_make_empty_completion_value ();
|
||||||
|
|
||||||
ecma_string_t *prototype_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_PROTOTYPE);
|
ecma_string_t *prototype_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_PROTOTYPE);
|
||||||
|
|
||||||
// 5.
|
// 5.
|
||||||
ECMA_TRY_CATCH (func_obj_prototype_prop_value,
|
ECMA_TRY_CATCH (func_obj_prototype_prop_value,
|
||||||
|
|||||||
@ -219,7 +219,7 @@ ecma_op_set_mutable_binding (ecma_object_t *lex_env_p, /**< lexical environment
|
|||||||
# ifdef CONFIG_ECMA_COMPACT_PROFILE
|
# ifdef CONFIG_ECMA_COMPACT_PROFILE
|
||||||
bool is_equal = false;
|
bool is_equal = false;
|
||||||
|
|
||||||
ecma_string_t *arguments_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_ARGUMENTS);
|
ecma_string_t *arguments_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_ARGUMENTS);
|
||||||
if (ecma_compare_ecma_strings (name_p, arguments_magic_string_p))
|
if (ecma_compare_ecma_strings (name_p, arguments_magic_string_p))
|
||||||
{
|
{
|
||||||
is_equal = true;
|
is_equal = true;
|
||||||
@ -294,7 +294,7 @@ ecma_op_get_binding_value (ecma_object_t *lex_env_p, /**< lexical environment */
|
|||||||
# ifdef CONFIG_ECMA_COMPACT_PROFILE
|
# ifdef CONFIG_ECMA_COMPACT_PROFILE
|
||||||
bool is_equal = false;
|
bool is_equal = false;
|
||||||
|
|
||||||
ecma_string_t *arguments_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_ARGUMENTS);
|
ecma_string_t *arguments_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_ARGUMENTS);
|
||||||
if (ecma_compare_ecma_strings (name_p, arguments_magic_string_p))
|
if (ecma_compare_ecma_strings (name_p, arguments_magic_string_p))
|
||||||
{
|
{
|
||||||
is_equal = true;
|
is_equal = true;
|
||||||
|
|||||||
@ -62,7 +62,7 @@ ecma_op_create_number_object (ecma_value_t arg) /**< argument passed to the Numb
|
|||||||
ecma_deref_object (prototype_obj_p);
|
ecma_deref_object (prototype_obj_p);
|
||||||
|
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_NUMBER_UL;
|
class_prop_p->u.internal_property.value = LIT_MAGIC_STRING_NUMBER_UL;
|
||||||
|
|
||||||
ecma_property_t *prim_value_prop_p = ecma_create_internal_property (obj_p,
|
ecma_property_t *prim_value_prop_p = ecma_create_internal_property (obj_p,
|
||||||
ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);
|
ECMA_INTERNAL_PROPERTY_PRIMITIVE_NUMBER_VALUE);
|
||||||
|
|||||||
@ -62,7 +62,7 @@ ecma_op_create_arguments_object (ecma_object_t *func_obj_p, /**< callee function
|
|||||||
|
|
||||||
// 4.
|
// 4.
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_ARGUMENTS_UL;
|
class_prop_p->u.internal_property.value = LIT_MAGIC_STRING_ARGUMENTS_UL;
|
||||||
|
|
||||||
// 7.
|
// 7.
|
||||||
ecma_property_descriptor_t prop_desc = ecma_make_empty_property_descriptor ();
|
ecma_property_descriptor_t prop_desc = ecma_make_empty_property_descriptor ();
|
||||||
@ -79,7 +79,7 @@ ecma_op_create_arguments_object (ecma_object_t *func_obj_p, /**< callee function
|
|||||||
prop_desc.is_configurable_defined = true;
|
prop_desc.is_configurable_defined = true;
|
||||||
prop_desc.is_configurable = true;
|
prop_desc.is_configurable = true;
|
||||||
}
|
}
|
||||||
ecma_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *length_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ecma_completion_value_t completion = ecma_op_object_define_own_property (obj_p,
|
ecma_completion_value_t completion = ecma_op_object_define_own_property (obj_p,
|
||||||
length_magic_string_p,
|
length_magic_string_p,
|
||||||
&prop_desc,
|
&prop_desc,
|
||||||
@ -237,7 +237,7 @@ ecma_op_create_arguments_object (ecma_object_t *func_obj_p, /**< callee function
|
|||||||
prop_desc.is_configurable = true;
|
prop_desc.is_configurable = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_t *callee_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_CALLEE);
|
ecma_string_t *callee_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_CALLEE);
|
||||||
|
|
||||||
completion = ecma_op_object_define_own_property (obj_p,
|
completion = ecma_op_object_define_own_property (obj_p,
|
||||||
callee_magic_string_p,
|
callee_magic_string_p,
|
||||||
@ -267,8 +267,8 @@ ecma_op_create_arguments_object (ecma_object_t *func_obj_p, /**< callee function
|
|||||||
prop_desc.is_configurable = false;
|
prop_desc.is_configurable = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_t *callee_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_CALLEE);
|
ecma_string_t *callee_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_CALLEE);
|
||||||
ecma_string_t *caller_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_CALLER);
|
ecma_string_t *caller_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_CALLER);
|
||||||
|
|
||||||
completion = ecma_op_object_define_own_property (obj_p,
|
completion = ecma_op_object_define_own_property (obj_p,
|
||||||
callee_magic_string_p,
|
callee_magic_string_p,
|
||||||
|
|||||||
@ -526,7 +526,7 @@ ecma_op_general_object_default_value (ecma_object_t *obj_p, /**< the object */
|
|||||||
|
|
||||||
if (hint == ECMA_PREFERRED_TYPE_NO)
|
if (hint == ECMA_PREFERRED_TYPE_NO)
|
||||||
{
|
{
|
||||||
if (ecma_object_get_class_name (obj_p) == ECMA_MAGIC_STRING_DATE_UL)
|
if (ecma_object_get_class_name (obj_p) == LIT_MAGIC_STRING_DATE_UL)
|
||||||
{
|
{
|
||||||
hint = ECMA_PREFERRED_TYPE_STRING;
|
hint = ECMA_PREFERRED_TYPE_STRING;
|
||||||
}
|
}
|
||||||
@ -538,16 +538,16 @@ ecma_op_general_object_default_value (ecma_object_t *obj_p, /**< the object */
|
|||||||
|
|
||||||
for (uint32_t i = 1; i <= 2; i++)
|
for (uint32_t i = 1; i <= 2; i++)
|
||||||
{
|
{
|
||||||
ecma_magic_string_id_t function_name_magic_string_id;
|
lit_magic_string_id_t function_name_magic_string_id;
|
||||||
|
|
||||||
if ((i == 1 && hint == ECMA_PREFERRED_TYPE_STRING)
|
if ((i == 1 && hint == ECMA_PREFERRED_TYPE_STRING)
|
||||||
|| (i == 2 && hint == ECMA_PREFERRED_TYPE_NUMBER))
|
|| (i == 2 && hint == ECMA_PREFERRED_TYPE_NUMBER))
|
||||||
{
|
{
|
||||||
function_name_magic_string_id = ECMA_MAGIC_STRING_TO_STRING_UL;
|
function_name_magic_string_id = LIT_MAGIC_STRING_TO_STRING_UL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
function_name_magic_string_id = ECMA_MAGIC_STRING_VALUE_OF_UL;
|
function_name_magic_string_id = LIT_MAGIC_STRING_VALUE_OF_UL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_t *function_name_p = ecma_get_magic_string (function_name_magic_string_id);
|
ecma_string_t *function_name_p = ecma_get_magic_string (function_name_magic_string_id);
|
||||||
|
|||||||
@ -518,7 +518,7 @@ ecma_op_object_is_prototype_of (ecma_object_t *base_p, /** < base object */
|
|||||||
*
|
*
|
||||||
* @return class name magic string
|
* @return class name magic string
|
||||||
*/
|
*/
|
||||||
ecma_magic_string_id_t
|
lit_magic_string_id_t
|
||||||
ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
||||||
{
|
{
|
||||||
ecma_object_type_t type = ecma_get_object_type (obj_p);
|
ecma_object_type_t type = ecma_get_object_type (obj_p);
|
||||||
@ -527,19 +527,19 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
|||||||
{
|
{
|
||||||
case ECMA_OBJECT_TYPE_ARRAY:
|
case ECMA_OBJECT_TYPE_ARRAY:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_ARRAY_UL;
|
return LIT_MAGIC_STRING_ARRAY_UL;
|
||||||
}
|
}
|
||||||
case ECMA_OBJECT_TYPE_STRING:
|
case ECMA_OBJECT_TYPE_STRING:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_STRING_UL;
|
return LIT_MAGIC_STRING_STRING_UL;
|
||||||
}
|
}
|
||||||
case ECMA_OBJECT_TYPE_ARGUMENTS:
|
case ECMA_OBJECT_TYPE_ARGUMENTS:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_ARGUMENTS_UL;
|
return LIT_MAGIC_STRING_ARGUMENTS_UL;
|
||||||
}
|
}
|
||||||
case ECMA_OBJECT_TYPE_FUNCTION:
|
case ECMA_OBJECT_TYPE_FUNCTION:
|
||||||
{
|
{
|
||||||
ecma_magic_string_id_t class_name;
|
lit_magic_string_id_t class_name;
|
||||||
|
|
||||||
if (ecma_get_object_is_builtin (obj_p))
|
if (ecma_get_object_is_builtin (obj_p))
|
||||||
{
|
{
|
||||||
@ -551,46 +551,46 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
|||||||
{
|
{
|
||||||
case ECMA_BUILTIN_ID_OBJECT:
|
case ECMA_BUILTIN_ID_OBJECT:
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_OBJECT_UL;
|
class_name = LIT_MAGIC_STRING_OBJECT_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ARRAY_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ARRAY_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_ARRAY:
|
case ECMA_BUILTIN_ID_ARRAY:
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_ARRAY_UL;
|
class_name = LIT_MAGIC_STRING_ARRAY_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ARRAY_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ARRAY_BUILTIN */
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_STRING:
|
case ECMA_BUILTIN_ID_STRING:
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_STRING_UL;
|
class_name = LIT_MAGIC_STRING_STRING_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN */
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_BOOLEAN:
|
case ECMA_BUILTIN_ID_BOOLEAN:
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_BOOLEAN_UL;
|
class_name = LIT_MAGIC_STRING_BOOLEAN_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN */
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_NUMBER:
|
case ECMA_BUILTIN_ID_NUMBER:
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_NUMBER_UL;
|
class_name = LIT_MAGIC_STRING_NUMBER_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN */
|
||||||
case ECMA_BUILTIN_ID_FUNCTION:
|
case ECMA_BUILTIN_ID_FUNCTION:
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_FUNCTION_UL;
|
class_name = LIT_MAGIC_STRING_FUNCTION_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_ECMA_COMPACT_PROFILE
|
#ifdef CONFIG_ECMA_COMPACT_PROFILE
|
||||||
case ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR:
|
case ECMA_BUILTIN_ID_COMPACT_PROFILE_ERROR:
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_COMPACT_PROFILE_ERROR_UL;
|
class_name = LIT_MAGIC_STRING_COMPACT_PROFILE_ERROR_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_ECMA_COMPACT_PROFILE */
|
#endif /* CONFIG_ECMA_COMPACT_PROFILE */
|
||||||
@ -603,7 +603,7 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
|||||||
case ECMA_BUILTIN_ID_TYPE_ERROR:
|
case ECMA_BUILTIN_ID_TYPE_ERROR:
|
||||||
case ECMA_BUILTIN_ID_URI_ERROR:
|
case ECMA_BUILTIN_ID_URI_ERROR:
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_ERROR_UL;
|
class_name = LIT_MAGIC_STRING_ERROR_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS */
|
||||||
@ -611,14 +611,14 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
|||||||
{
|
{
|
||||||
JERRY_ASSERT (builtin_id == ECMA_BUILTIN_ID_TYPE_ERROR_THROWER);
|
JERRY_ASSERT (builtin_id == ECMA_BUILTIN_ID_TYPE_ERROR_THROWER);
|
||||||
|
|
||||||
class_name = ECMA_MAGIC_STRING_FUNCTION_UL;
|
class_name = LIT_MAGIC_STRING_FUNCTION_UL;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
class_name = ECMA_MAGIC_STRING_FUNCTION_UL;
|
class_name = LIT_MAGIC_STRING_FUNCTION_UL;
|
||||||
}
|
}
|
||||||
|
|
||||||
return class_name;
|
return class_name;
|
||||||
@ -627,7 +627,7 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
|||||||
case ECMA_OBJECT_TYPE_EXTERNAL_FUNCTION:
|
case ECMA_OBJECT_TYPE_EXTERNAL_FUNCTION:
|
||||||
case ECMA_OBJECT_TYPE_BUILT_IN_FUNCTION:
|
case ECMA_OBJECT_TYPE_BUILT_IN_FUNCTION:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_FUNCTION_UL;
|
return LIT_MAGIC_STRING_FUNCTION_UL;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
@ -643,30 +643,30 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
|||||||
{
|
{
|
||||||
case ECMA_BUILTIN_ID_OBJECT_PROTOTYPE:
|
case ECMA_BUILTIN_ID_OBJECT_PROTOTYPE:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_OBJECT_UL;
|
return LIT_MAGIC_STRING_OBJECT_UL;
|
||||||
}
|
}
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_STRING_PROTOTYPE:
|
case ECMA_BUILTIN_ID_STRING_PROTOTYPE:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_STRING_UL;
|
return LIT_MAGIC_STRING_STRING_UL;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_STRING_BUILTIN */
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_BOOLEAN_PROTOTYPE:
|
case ECMA_BUILTIN_ID_BOOLEAN_PROTOTYPE:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_BOOLEAN_UL;
|
return LIT_MAGIC_STRING_BOOLEAN_UL;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_BOOLEAN_BUILTIN */
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_NUMBER_PROTOTYPE:
|
case ECMA_BUILTIN_ID_NUMBER_PROTOTYPE:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_NUMBER_UL;
|
return LIT_MAGIC_STRING_NUMBER_UL;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_NUMBER_BUILTIN */
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_MATH:
|
case ECMA_BUILTIN_ID_MATH:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_MATH_UL;
|
return LIT_MAGIC_STRING_MATH_UL;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_MATH_BUILTIN */
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS
|
||||||
@ -678,20 +678,20 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
|||||||
case ECMA_BUILTIN_ID_TYPE_ERROR_PROTOTYPE:
|
case ECMA_BUILTIN_ID_TYPE_ERROR_PROTOTYPE:
|
||||||
case ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE:
|
case ECMA_BUILTIN_ID_URI_ERROR_PROTOTYPE:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_ERROR_UL;
|
return LIT_MAGIC_STRING_ERROR_UL;
|
||||||
}
|
}
|
||||||
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS */
|
#endif /* !CONFIG_ECMA_COMPACT_PROFILE_DISABLE_ERROR_BUILTINS */
|
||||||
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_REGEXP_BUILTIN
|
#ifndef CONFIG_ECMA_COMPACT_PROFILE_DISABLE_REGEXP_BUILTIN
|
||||||
case ECMA_BUILTIN_ID_REGEXP_PROTOTYPE:
|
case ECMA_BUILTIN_ID_REGEXP_PROTOTYPE:
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_REGEXP_UL;
|
return LIT_MAGIC_STRING_REGEXP_UL;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_ECMA_COMPACT_PROFILE_DISABLE_REGEXP_BUILTIN */
|
#endif /* CONFIG_ECMA_COMPACT_PROFILE_DISABLE_REGEXP_BUILTIN */
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_GLOBAL));
|
JERRY_ASSERT (ecma_builtin_is (obj_p, ECMA_BUILTIN_ID_GLOBAL));
|
||||||
|
|
||||||
return ECMA_MAGIC_STRING_OBJECT_UL;
|
return LIT_MAGIC_STRING_OBJECT_UL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -702,11 +702,11 @@ ecma_object_get_class_name (ecma_object_t *obj_p) /**< object */
|
|||||||
|
|
||||||
if (class_name_prop_p == NULL)
|
if (class_name_prop_p == NULL)
|
||||||
{
|
{
|
||||||
return ECMA_MAGIC_STRING_OBJECT_UL;
|
return LIT_MAGIC_STRING_OBJECT_UL;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return (ecma_magic_string_id_t) class_name_prop_p->u.internal_property.value;
|
return (lit_magic_string_id_t) class_name_prop_p->u.internal_property.value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -47,7 +47,7 @@ extern ecma_completion_value_t ecma_op_object_has_instance (ecma_object_t *obj_p
|
|||||||
ecma_value_t value);
|
ecma_value_t value);
|
||||||
extern bool ecma_op_object_is_prototype_of (ecma_object_t *base_p, ecma_object_t *target_p);
|
extern bool ecma_op_object_is_prototype_of (ecma_object_t *base_p, ecma_object_t *target_p);
|
||||||
|
|
||||||
extern ecma_magic_string_id_t ecma_object_get_class_name (ecma_object_t *obj_p);
|
extern lit_magic_string_id_t ecma_object_get_class_name (ecma_object_t *obj_p);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
|||||||
@ -159,10 +159,10 @@ ecma_op_create_regexp_object (ecma_string_t *pattern_p, /**< input pattern */
|
|||||||
|
|
||||||
/* Set the internal [[Class]] property */
|
/* Set the internal [[Class]] property */
|
||||||
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
ecma_property_t *class_prop_p = ecma_create_internal_property (obj_p, ECMA_INTERNAL_PROPERTY_CLASS);
|
||||||
class_prop_p->u.internal_property.value = ECMA_MAGIC_STRING_REGEXP_UL;
|
class_prop_p->u.internal_property.value = LIT_MAGIC_STRING_REGEXP_UL;
|
||||||
|
|
||||||
/* Set source property. ECMA-262 v5, 15.10.7.1 */
|
/* Set source property. ECMA-262 v5, 15.10.7.1 */
|
||||||
ecma_string_t *magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_SOURCE);
|
ecma_string_t *magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_SOURCE);
|
||||||
ecma_property_t *source_prop_p = ecma_create_named_data_property (obj_p,
|
ecma_property_t *source_prop_p = ecma_create_named_data_property (obj_p,
|
||||||
magic_string_p,
|
magic_string_p,
|
||||||
false, false, false);
|
false, false, false);
|
||||||
@ -173,7 +173,7 @@ ecma_op_create_regexp_object (ecma_string_t *pattern_p, /**< input pattern */
|
|||||||
ecma_simple_value_t prop_value;
|
ecma_simple_value_t prop_value;
|
||||||
|
|
||||||
/* Set global property. ECMA-262 v5, 15.10.7.2*/
|
/* Set global property. ECMA-262 v5, 15.10.7.2*/
|
||||||
magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_GLOBAL);
|
magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_GLOBAL);
|
||||||
ecma_property_t *global_prop_p = ecma_create_named_data_property (obj_p,
|
ecma_property_t *global_prop_p = ecma_create_named_data_property (obj_p,
|
||||||
magic_string_p,
|
magic_string_p,
|
||||||
false, false, false);
|
false, false, false);
|
||||||
@ -182,7 +182,7 @@ ecma_op_create_regexp_object (ecma_string_t *pattern_p, /**< input pattern */
|
|||||||
ecma_set_named_data_property_value (global_prop_p, ecma_make_simple_value (prop_value));
|
ecma_set_named_data_property_value (global_prop_p, ecma_make_simple_value (prop_value));
|
||||||
|
|
||||||
/* Set ignoreCase property. ECMA-262 v5, 15.10.7.3*/
|
/* Set ignoreCase property. ECMA-262 v5, 15.10.7.3*/
|
||||||
magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_IGNORECASE_UL);
|
magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_IGNORECASE_UL);
|
||||||
ecma_property_t *ignorecase_prop_p = ecma_create_named_data_property (obj_p,
|
ecma_property_t *ignorecase_prop_p = ecma_create_named_data_property (obj_p,
|
||||||
magic_string_p,
|
magic_string_p,
|
||||||
false, false, false);
|
false, false, false);
|
||||||
@ -192,7 +192,7 @@ ecma_op_create_regexp_object (ecma_string_t *pattern_p, /**< input pattern */
|
|||||||
|
|
||||||
|
|
||||||
/* Set multiline property. ECMA-262 v5, 15.10.7.4*/
|
/* Set multiline property. ECMA-262 v5, 15.10.7.4*/
|
||||||
magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_MULTILINE);
|
magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_MULTILINE);
|
||||||
ecma_property_t *multiline_prop_p = ecma_create_named_data_property (obj_p,
|
ecma_property_t *multiline_prop_p = ecma_create_named_data_property (obj_p,
|
||||||
magic_string_p,
|
magic_string_p,
|
||||||
false, false, false);
|
false, false, false);
|
||||||
@ -201,7 +201,7 @@ ecma_op_create_regexp_object (ecma_string_t *pattern_p, /**< input pattern */
|
|||||||
ecma_set_named_data_property_value (multiline_prop_p, ecma_make_simple_value (prop_value));
|
ecma_set_named_data_property_value (multiline_prop_p, ecma_make_simple_value (prop_value));
|
||||||
|
|
||||||
/* Set lastIndex property. ECMA-262 v5, 15.10.7.5*/
|
/* Set lastIndex property. ECMA-262 v5, 15.10.7.5*/
|
||||||
magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LASTINDEX_UL);
|
magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LASTINDEX_UL);
|
||||||
ecma_property_t *lastindex_prop_p = ecma_create_named_data_property (obj_p,
|
ecma_property_t *lastindex_prop_p = ecma_create_named_data_property (obj_p,
|
||||||
magic_string_p,
|
magic_string_p,
|
||||||
true, false, false);
|
true, false, false);
|
||||||
@ -1088,7 +1088,7 @@ re_set_result_array_properties (ecma_object_t *array_obj_p, /**< result array */
|
|||||||
int32_t index) /** index of matching */
|
int32_t index) /** index of matching */
|
||||||
{
|
{
|
||||||
/* Set index property of the result array */
|
/* Set index property of the result array */
|
||||||
ecma_string_t *result_prop_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_INDEX);
|
ecma_string_t *result_prop_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_INDEX);
|
||||||
{
|
{
|
||||||
ecma_property_descriptor_t array_item_prop_desc = ecma_make_empty_property_descriptor ();
|
ecma_property_descriptor_t array_item_prop_desc = ecma_make_empty_property_descriptor ();
|
||||||
|
|
||||||
@ -1117,7 +1117,7 @@ re_set_result_array_properties (ecma_object_t *array_obj_p, /**< result array */
|
|||||||
ecma_deref_ecma_string (result_prop_str_p);
|
ecma_deref_ecma_string (result_prop_str_p);
|
||||||
|
|
||||||
/* Set input property of the result array */
|
/* Set input property of the result array */
|
||||||
result_prop_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_INPUT);
|
result_prop_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_INPUT);
|
||||||
{
|
{
|
||||||
ecma_property_descriptor_t array_item_prop_desc = ecma_make_empty_property_descriptor ();
|
ecma_property_descriptor_t array_item_prop_desc = ecma_make_empty_property_descriptor ();
|
||||||
|
|
||||||
@ -1144,7 +1144,7 @@ re_set_result_array_properties (ecma_object_t *array_obj_p, /**< result array */
|
|||||||
ecma_deref_ecma_string (result_prop_str_p);
|
ecma_deref_ecma_string (result_prop_str_p);
|
||||||
|
|
||||||
/* Set length property of the result array */
|
/* Set length property of the result array */
|
||||||
result_prop_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
result_prop_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
{
|
{
|
||||||
|
|
||||||
ecma_property_descriptor_t array_item_prop_desc = ecma_make_empty_property_descriptor ();
|
ecma_property_descriptor_t array_item_prop_desc = ecma_make_empty_property_descriptor ();
|
||||||
@ -1219,7 +1219,7 @@ ecma_regexp_exec_helper (ecma_object_t *obj_p, /**< RegExp object */
|
|||||||
|
|
||||||
if (re_ctx.flags & RE_FLAG_GLOBAL)
|
if (re_ctx.flags & RE_FLAG_GLOBAL)
|
||||||
{
|
{
|
||||||
ecma_string_t *magic_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LASTINDEX_UL);
|
ecma_string_t *magic_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_LASTINDEX_UL);
|
||||||
ecma_property_t *lastindex_prop_p = ecma_op_object_get_property (obj_p, magic_str_p);
|
ecma_property_t *lastindex_prop_p = ecma_op_object_get_property (obj_p, magic_str_p);
|
||||||
ecma_number_t *lastindex_num_p = ecma_get_number_from_value (lastindex_prop_p->u.named_data_property.value);
|
ecma_number_t *lastindex_num_p = ecma_get_number_from_value (lastindex_prop_p->u.named_data_property.value);
|
||||||
index = ecma_number_to_int32 (*lastindex_num_p);
|
index = ecma_number_to_int32 (*lastindex_num_p);
|
||||||
@ -1234,7 +1234,7 @@ ecma_regexp_exec_helper (ecma_object_t *obj_p, /**< RegExp object */
|
|||||||
{
|
{
|
||||||
if (index < 0 || index > input_length)
|
if (index < 0 || index > input_length)
|
||||||
{
|
{
|
||||||
ecma_string_t *magic_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LASTINDEX_UL);
|
ecma_string_t *magic_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_LASTINDEX_UL);
|
||||||
ecma_number_t *lastindex_num_p = ecma_alloc_number ();
|
ecma_number_t *lastindex_num_p = ecma_alloc_number ();
|
||||||
*lastindex_num_p = ECMA_NUMBER_ZERO;
|
*lastindex_num_p = ECMA_NUMBER_ZERO;
|
||||||
ecma_op_object_put (obj_p, magic_str_p, ecma_make_number_value (lastindex_num_p), true);
|
ecma_op_object_put (obj_p, magic_str_p, ecma_make_number_value (lastindex_num_p), true);
|
||||||
@ -1261,7 +1261,7 @@ ecma_regexp_exec_helper (ecma_object_t *obj_p, /**< RegExp object */
|
|||||||
|
|
||||||
if (re_ctx.flags & RE_FLAG_GLOBAL)
|
if (re_ctx.flags & RE_FLAG_GLOBAL)
|
||||||
{
|
{
|
||||||
ecma_string_t *magic_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LASTINDEX_UL);
|
ecma_string_t *magic_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_LASTINDEX_UL);
|
||||||
ecma_number_t *lastindex_num_p = ecma_alloc_number ();
|
ecma_number_t *lastindex_num_p = ecma_alloc_number ();
|
||||||
*lastindex_num_p = ((ecma_number_t) (sub_str_p - re_ctx.input_start_p));
|
*lastindex_num_p = ((ecma_number_t) (sub_str_p - re_ctx.input_start_p));
|
||||||
ecma_op_object_put (obj_p, magic_str_p, ecma_make_number_value (lastindex_num_p), true);
|
ecma_op_object_put (obj_p, magic_str_p, ecma_make_number_value (lastindex_num_p), true);
|
||||||
@ -1294,7 +1294,7 @@ ecma_regexp_exec_helper (ecma_object_t *obj_p, /**< RegExp object */
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
capture_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING__EMPTY);
|
capture_str_p = ecma_get_magic_string (LIT_MAGIC_STRING__EMPTY);
|
||||||
}
|
}
|
||||||
ecma_op_object_put (result_array_obj_p, index_str_p, ecma_make_string_value (capture_str_p), true);
|
ecma_op_object_put (result_array_obj_p, index_str_p, ecma_make_string_value (capture_str_p), true);
|
||||||
ecma_deref_ecma_string (capture_str_p);
|
ecma_deref_ecma_string (capture_str_p);
|
||||||
|
|||||||
@ -52,7 +52,7 @@ ecma_op_create_string_object (const ecma_value_t *arguments_list_p, /**< list of
|
|||||||
|
|
||||||
if (arguments_list_len == 0)
|
if (arguments_list_len == 0)
|
||||||
{
|
{
|
||||||
prim_prop_str_value_p = ecma_new_ecma_string_from_magic_string_id (ECMA_MAGIC_STRING__EMPTY);
|
prim_prop_str_value_p = ecma_new_ecma_string_from_magic_string_id (LIT_MAGIC_STRING__EMPTY);
|
||||||
length_value = ECMA_NUMBER_ZERO;
|
length_value = ECMA_NUMBER_ZERO;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -99,7 +99,7 @@ ecma_op_create_string_object (const ecma_value_t *arguments_list_p, /**< list of
|
|||||||
ECMA_SET_POINTER (prim_value_prop_p->u.internal_property.value, prim_prop_str_value_p);
|
ECMA_SET_POINTER (prim_value_prop_p->u.internal_property.value, prim_prop_str_value_p);
|
||||||
|
|
||||||
// 15.5.5.1
|
// 15.5.5.1
|
||||||
ecma_string_t *length_magic_string_p = ecma_get_magic_string (ECMA_MAGIC_STRING_LENGTH);
|
ecma_string_t *length_magic_string_p = ecma_get_magic_string (LIT_MAGIC_STRING_LENGTH);
|
||||||
ecma_property_t *length_prop_p = ecma_create_named_data_property (obj_p,
|
ecma_property_t *length_prop_p = ecma_create_named_data_property (obj_p,
|
||||||
length_magic_string_p,
|
length_magic_string_p,
|
||||||
false, false, false);
|
false, false, false);
|
||||||
|
|||||||
@ -1363,5 +1363,5 @@ jerry_register_external_magic_strings (const jerry_api_char_ptr_t* ex_str_items,
|
|||||||
uint32_t count, /**< number of the strings */
|
uint32_t count, /**< number of the strings */
|
||||||
const jerry_api_length_t* str_lengths) /**< lengths of the strings */
|
const jerry_api_length_t* str_lengths) /**< lengths of the strings */
|
||||||
{
|
{
|
||||||
ecma_strings_ex_set ((const ecma_char_ptr_t*)ex_str_items, count, (const ecma_length_t*)str_lengths);
|
lit_magic_strings_ex_set ((const ecma_char_ptr_t*)ex_str_items, count, (const ecma_length_t*)str_lengths);
|
||||||
} /* jerry_register_external_magic_strings */
|
} /* jerry_register_external_magic_strings */
|
||||||
|
|||||||
63
jerry-core/lit/lit-globals.h
Normal file
63
jerry-core/lit/lit-globals.h
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
/* Copyright 2015 Samsung Electronics Co., Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIT_GLOBALS_H
|
||||||
|
#define LIT_GLOBALS_H
|
||||||
|
|
||||||
|
#include "jrt.h"
|
||||||
|
|
||||||
|
#if CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_ASCII
|
||||||
|
/**
|
||||||
|
* Description of an ecma-character
|
||||||
|
*/
|
||||||
|
typedef uint8_t ecma_char_t;
|
||||||
|
#elif CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_UTF16
|
||||||
|
/**
|
||||||
|
* Description of an ecma-character
|
||||||
|
*/
|
||||||
|
typedef uint16_t ecma_char_t;
|
||||||
|
#endif /* CONFIG_ECMA_CHAR_ENCODING == CONFIG_ECMA_CHAR_UTF16 */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description of an ecma-character pointer
|
||||||
|
*/
|
||||||
|
typedef ecma_char_t *ecma_char_ptr_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Null character (zt-string end marker)
|
||||||
|
*/
|
||||||
|
#define ECMA_CHAR_NULL ((ecma_char_t) '\0')
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description of a collection's/string's length
|
||||||
|
*/
|
||||||
|
typedef uint16_t ecma_length_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ECMA string hash
|
||||||
|
*/
|
||||||
|
typedef uint8_t lit_string_hash_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Length of string hash, in bits
|
||||||
|
*/
|
||||||
|
#define LIT_STRING_HASH_BITS (sizeof (lit_string_hash_t) * JERRY_BITSINBYTE)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of string's last characters to use for hash calculation
|
||||||
|
*/
|
||||||
|
#define LIT_STRING_HASH_LAST_BYTES_COUNT (2)
|
||||||
|
|
||||||
|
#endif /* LIT_GLOBALS_H */
|
||||||
@ -256,7 +256,7 @@ lit_literal_storage_t::create_charset_record (const ecma_char_t *str, /**< strin
|
|||||||
* @return pointer to the created record
|
* @return pointer to the created record
|
||||||
*/
|
*/
|
||||||
lit_magic_record_t *
|
lit_magic_record_t *
|
||||||
lit_literal_storage_t::create_magic_record (ecma_magic_string_id_t id) /**< id of a magic string */
|
lit_literal_storage_t::create_magic_record (lit_magic_string_id_t id) /**< id of a magic string */
|
||||||
{
|
{
|
||||||
lit_magic_record_t *ret = alloc_record<lit_magic_record_t> (LIT_MAGIC_STR);
|
lit_magic_record_t *ret = alloc_record<lit_magic_record_t> (LIT_MAGIC_STR);
|
||||||
ret->set_magic_str_id (id);
|
ret->set_magic_str_id (id);
|
||||||
@ -270,7 +270,7 @@ lit_literal_storage_t::create_magic_record (ecma_magic_string_id_t id) /**< id o
|
|||||||
* @return pointer to the created record
|
* @return pointer to the created record
|
||||||
*/
|
*/
|
||||||
lit_magic_record_t *
|
lit_magic_record_t *
|
||||||
lit_literal_storage_t::create_magic_record_ex (ecma_magic_string_ex_id_t id) /**< id of a magic string */
|
lit_literal_storage_t::create_magic_record_ex (lit_magic_string_ex_id_t id) /**< id of a magic string */
|
||||||
{
|
{
|
||||||
lit_magic_record_t *ret = alloc_record<lit_magic_record_t> (LIT_MAGIC_STR_EX);
|
lit_magic_record_t *ret = alloc_record<lit_magic_record_t> (LIT_MAGIC_STR_EX);
|
||||||
ret->set_magic_str_id (id);
|
ret->set_magic_str_id (id);
|
||||||
@ -329,16 +329,16 @@ lit_literal_storage_t::dump ()
|
|||||||
}
|
}
|
||||||
case LIT_MAGIC_STR:
|
case LIT_MAGIC_STR:
|
||||||
{
|
{
|
||||||
ecma_magic_string_id_t id = lit_magic_record_get_magic_str_id (rec_p);
|
lit_magic_string_id_t id = lit_magic_record_get_magic_str_id (rec_p);
|
||||||
printf ("%s : MAGIC STRING", ecma_get_magic_string_zt (id));
|
printf ("%s : MAGIC STRING", lit_get_magic_string_zt (id));
|
||||||
printf (" [id=%d] ", id);
|
printf (" [id=%d] ", id);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case LIT_MAGIC_STR_EX:
|
case LIT_MAGIC_STR_EX:
|
||||||
{
|
{
|
||||||
ecma_magic_string_ex_id_t id = lit_magic_record_ex_get_magic_str_id (rec_p);
|
lit_magic_string_ex_id_t id = lit_magic_record_ex_get_magic_str_id (rec_p);
|
||||||
printf ("%s : EXT MAGIC STRING", ecma_get_magic_string_ex_zt (id));
|
printf ("%s : EXT MAGIC STRING", lit_get_magic_string_ex_zt (id));
|
||||||
printf (" [id=%d] ", id);
|
printf (" [id=%d] ", id);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
@ -478,10 +478,10 @@ template ecma_number_t rcs_record_iterator_t::read<ecma_number_t> ();
|
|||||||
template void rcs_record_iterator_t::write<uint16_t> (uint16_t);
|
template void rcs_record_iterator_t::write<uint16_t> (uint16_t);
|
||||||
template uint16_t rcs_record_iterator_t::read<uint16_t> ();
|
template uint16_t rcs_record_iterator_t::read<uint16_t> ();
|
||||||
|
|
||||||
template ecma_magic_string_id_t lit_magic_record_t::get_magic_str_id<ecma_magic_string_id_t>() const;
|
template lit_magic_string_id_t lit_magic_record_t::get_magic_str_id<lit_magic_string_id_t>() const;
|
||||||
template ecma_magic_string_ex_id_t lit_magic_record_t::get_magic_str_id<ecma_magic_string_ex_id_t>() const;
|
template lit_magic_string_ex_id_t lit_magic_record_t::get_magic_str_id<lit_magic_string_ex_id_t>() const;
|
||||||
template void lit_magic_record_t::set_magic_str_id<ecma_magic_string_id_t>(ecma_magic_string_id_t);
|
template void lit_magic_record_t::set_magic_str_id<lit_magic_string_id_t>(lit_magic_string_id_t);
|
||||||
template void lit_magic_record_t::set_magic_str_id<ecma_magic_string_ex_id_t>(ecma_magic_string_ex_id_t);
|
template void lit_magic_record_t::set_magic_str_id<lit_magic_string_ex_id_t>(lit_magic_string_ex_id_t);
|
||||||
|
|
||||||
template lit_charset_record_t *rcs_recordset_t::alloc_record<lit_charset_record_t> (rcs_record_t::type_t type,
|
template lit_charset_record_t *rcs_recordset_t::alloc_record<lit_charset_record_t> (rcs_record_t::type_t type,
|
||||||
size_t size);
|
size_t size);
|
||||||
|
|||||||
@ -97,10 +97,10 @@ public:
|
|||||||
*
|
*
|
||||||
* @return hash value of the string (the value of the 'hash' field in the header)
|
* @return hash value of the string (the value of the 'hash' field in the header)
|
||||||
*/
|
*/
|
||||||
ecma_string_hash_t
|
lit_string_hash_t
|
||||||
get_hash () const
|
get_hash () const
|
||||||
{
|
{
|
||||||
return (ecma_string_hash_t) get_field (_hash_field_pos, _hash_field_width);
|
return (lit_string_hash_t) get_field (_hash_field_pos, _hash_field_width);
|
||||||
} /* get_hash */
|
} /* get_hash */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -150,7 +150,7 @@ private:
|
|||||||
* Set record's hash (the value of the 'hash' field in the header)
|
* Set record's hash (the value of the 'hash' field in the header)
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
set_hash (ecma_string_hash_t hash) /**< hash value */
|
set_hash (lit_string_hash_t hash) /**< hash value */
|
||||||
{
|
{
|
||||||
set_field (_hash_field_pos, _hash_field_width, hash);
|
set_field (_hash_field_pos, _hash_field_width, hash);
|
||||||
} /* set_hash */
|
} /* set_hash */
|
||||||
@ -242,7 +242,7 @@ public:
|
|||||||
magic_string_id_t get_magic_str_id () const
|
magic_string_id_t get_magic_str_id () const
|
||||||
{
|
{
|
||||||
uint32_t id = get_field (magic_field_pos, magic_field_width);
|
uint32_t id = get_field (magic_field_pos, magic_field_width);
|
||||||
// JERRY_ASSERT (id < ECMA_MAGIC_STRING__COUNT);
|
// JERRY_ASSERT (id < LIT_MAGIC_STRING__COUNT);
|
||||||
return (magic_string_id_t) id;
|
return (magic_string_id_t) id;
|
||||||
} /* get_magic_str_id */
|
} /* get_magic_str_id */
|
||||||
|
|
||||||
@ -418,8 +418,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
lit_charset_record_t *create_charset_record (const ecma_char_t *, size_t);
|
lit_charset_record_t *create_charset_record (const ecma_char_t *, size_t);
|
||||||
lit_magic_record_t *create_magic_record (ecma_magic_string_id_t);
|
lit_magic_record_t *create_magic_record (lit_magic_string_id_t);
|
||||||
lit_magic_record_t *create_magic_record_ex (ecma_magic_string_ex_id_t);
|
lit_magic_record_t *create_magic_record_ex (lit_magic_string_ex_id_t);
|
||||||
lit_number_record_t *create_number_record (ecma_number_t);
|
lit_number_record_t *create_number_record (ecma_number_t);
|
||||||
|
|
||||||
void dump ();
|
void dump ();
|
||||||
|
|||||||
@ -24,6 +24,8 @@ lit_init ()
|
|||||||
{
|
{
|
||||||
new (&lit_storage) lit_literal_storage_t ();
|
new (&lit_storage) lit_literal_storage_t ();
|
||||||
lit_storage.init ();
|
lit_storage.init ();
|
||||||
|
lit_magic_strings_init ();
|
||||||
|
lit_magic_strings_ex_init ();
|
||||||
} /* lit_init */
|
} /* lit_init */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -57,31 +59,31 @@ lit_create_literal_from_charset (const ecma_char_t *str, /**< string to initiali
|
|||||||
ecma_length_t len) /**< length of the string */
|
ecma_length_t len) /**< length of the string */
|
||||||
{
|
{
|
||||||
JERRY_ASSERT (str || !len);
|
JERRY_ASSERT (str || !len);
|
||||||
for (ecma_magic_string_id_t msi = (ecma_magic_string_id_t) 0;
|
for (lit_magic_string_id_t msi = (lit_magic_string_id_t) 0;
|
||||||
msi < ECMA_MAGIC_STRING__COUNT;
|
msi < LIT_MAGIC_STRING__COUNT;
|
||||||
msi = (ecma_magic_string_id_t) (msi + 1))
|
msi = (lit_magic_string_id_t) (msi + 1))
|
||||||
{
|
{
|
||||||
if (ecma_zt_string_length (ecma_get_magic_string_zt (msi)) != len)
|
if (ecma_zt_string_length (lit_get_magic_string_zt (msi)) != len)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strncmp ((const char *) str, (const char *) ecma_get_magic_string_zt (msi), len))
|
if (!strncmp ((const char *) str, (const char *) lit_get_magic_string_zt (msi), len))
|
||||||
{
|
{
|
||||||
return lit_storage.create_magic_record (msi);
|
return lit_storage.create_magic_record (msi);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (ecma_magic_string_ex_id_t msi = (ecma_magic_string_ex_id_t) 0;
|
for (lit_magic_string_ex_id_t msi = (lit_magic_string_ex_id_t) 0;
|
||||||
msi < ecma_get_magic_string_ex_count ();
|
msi < ecma_get_magic_string_ex_count ();
|
||||||
msi = (ecma_magic_string_ex_id_t) (msi + 1))
|
msi = (lit_magic_string_ex_id_t) (msi + 1))
|
||||||
{
|
{
|
||||||
if (ecma_zt_string_length (ecma_get_magic_string_ex_zt (msi)) != len)
|
if (ecma_zt_string_length (lit_get_magic_string_ex_zt (msi)) != len)
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!strncmp ((const char *) str, (const char *) ecma_get_magic_string_ex_zt (msi), len))
|
if (!strncmp ((const char *) str, (const char *) lit_get_magic_string_ex_zt (msi), len))
|
||||||
{
|
{
|
||||||
return lit_storage.create_magic_record_ex (msi);
|
return lit_storage.create_magic_record_ex (msi);
|
||||||
}
|
}
|
||||||
@ -119,8 +121,8 @@ lit_find_literal_by_charset (const ecma_char_t *str, /**< a string to search for
|
|||||||
}
|
}
|
||||||
else if (type == LIT_MAGIC_STR_T)
|
else if (type == LIT_MAGIC_STR_T)
|
||||||
{
|
{
|
||||||
ecma_magic_string_id_t magic_id = lit_magic_record_get_magic_str_id (lit);
|
lit_magic_string_id_t magic_id = lit_magic_record_get_magic_str_id (lit);
|
||||||
const char *magic_str = (const char *) ecma_get_magic_string_zt (magic_id);
|
const char *magic_str = (const char *) lit_get_magic_string_zt (magic_id);
|
||||||
|
|
||||||
if (strlen (magic_str) != len)
|
if (strlen (magic_str) != len)
|
||||||
{
|
{
|
||||||
@ -134,8 +136,8 @@ lit_find_literal_by_charset (const ecma_char_t *str, /**< a string to search for
|
|||||||
}
|
}
|
||||||
else if (type == LIT_MAGIC_STR_EX_T)
|
else if (type == LIT_MAGIC_STR_EX_T)
|
||||||
{
|
{
|
||||||
ecma_magic_string_ex_id_t magic_id = lit_magic_record_ex_get_magic_str_id (lit);
|
lit_magic_string_ex_id_t magic_id = lit_magic_record_ex_get_magic_str_id (lit);
|
||||||
const char *magic_str = (const char *) ecma_get_magic_string_ex_zt (magic_id);
|
const char *magic_str = (const char *) lit_get_magic_string_ex_zt (magic_id);
|
||||||
|
|
||||||
if (strlen (magic_str) != len)
|
if (strlen (magic_str) != len)
|
||||||
{
|
{
|
||||||
@ -248,11 +250,11 @@ lit_literal_equal_charset_rec (literal_t lit, /**< literal to com
|
|||||||
}
|
}
|
||||||
case LIT_MAGIC_STR_T:
|
case LIT_MAGIC_STR_T:
|
||||||
{
|
{
|
||||||
return record->equal_zt (ecma_get_magic_string_zt (lit_magic_record_get_magic_str_id (lit)));
|
return record->equal_zt (lit_get_magic_string_zt (lit_magic_record_get_magic_str_id (lit)));
|
||||||
}
|
}
|
||||||
case LIT_MAGIC_STR_EX_T:
|
case LIT_MAGIC_STR_EX_T:
|
||||||
{
|
{
|
||||||
return record->equal_zt (ecma_get_magic_string_ex_zt (lit_magic_record_ex_get_magic_str_id (lit)));
|
return record->equal_zt (lit_get_magic_string_ex_zt (lit_magic_record_ex_get_magic_str_id (lit)));
|
||||||
}
|
}
|
||||||
case LIT_NUMBER_T:
|
case LIT_NUMBER_T:
|
||||||
{
|
{
|
||||||
@ -288,13 +290,13 @@ lit_literal_equal_zt (literal_t lit, /**< literal to compare */
|
|||||||
}
|
}
|
||||||
case LIT_MAGIC_STR_T:
|
case LIT_MAGIC_STR_T:
|
||||||
{
|
{
|
||||||
ecma_magic_string_id_t magic_id = lit_magic_record_get_magic_str_id (lit);
|
lit_magic_string_id_t magic_id = lit_magic_record_get_magic_str_id (lit);
|
||||||
return ecma_compare_zt_strings (str, ecma_get_magic_string_zt (magic_id));
|
return ecma_compare_zt_strings (str, lit_get_magic_string_zt (magic_id));
|
||||||
}
|
}
|
||||||
case LIT_MAGIC_STR_EX_T:
|
case LIT_MAGIC_STR_EX_T:
|
||||||
{
|
{
|
||||||
ecma_magic_string_ex_id_t magic_id = lit_magic_record_ex_get_magic_str_id (lit);
|
lit_magic_string_ex_id_t magic_id = lit_magic_record_ex_get_magic_str_id (lit);
|
||||||
return ecma_compare_zt_strings (str, ecma_get_magic_string_ex_zt (magic_id));
|
return ecma_compare_zt_strings (str, lit_get_magic_string_ex_zt (magic_id));
|
||||||
}
|
}
|
||||||
case LIT_NUMBER_T:
|
case LIT_NUMBER_T:
|
||||||
{
|
{
|
||||||
@ -346,11 +348,11 @@ lit_literal_equal (literal_t lit1, /**< first literal */
|
|||||||
}
|
}
|
||||||
case lit_literal_storage_t::LIT_MAGIC_STR:
|
case lit_literal_storage_t::LIT_MAGIC_STR:
|
||||||
{
|
{
|
||||||
return lit_literal_equal_zt (lit1, ecma_get_magic_string_zt (lit_magic_record_get_magic_str_id (lit2)));
|
return lit_literal_equal_zt (lit1, lit_get_magic_string_zt (lit_magic_record_get_magic_str_id (lit2)));
|
||||||
}
|
}
|
||||||
case lit_literal_storage_t::LIT_MAGIC_STR_EX:
|
case lit_literal_storage_t::LIT_MAGIC_STR_EX:
|
||||||
{
|
{
|
||||||
return lit_literal_equal_zt (lit1, ecma_get_magic_string_ex_zt (lit_magic_record_ex_get_magic_str_id (lit2)));
|
return lit_literal_equal_zt (lit1, lit_get_magic_string_ex_zt (lit_magic_record_ex_get_magic_str_id (lit2)));
|
||||||
}
|
}
|
||||||
case lit_literal_storage_t::LIT_NUMBER:
|
case lit_literal_storage_t::LIT_NUMBER:
|
||||||
{
|
{
|
||||||
@ -455,11 +457,11 @@ lit_literal_to_charset (literal_t lit, /**< literal to be processed */
|
|||||||
}
|
}
|
||||||
case LIT_MAGIC_STR_T:
|
case LIT_MAGIC_STR_T:
|
||||||
{
|
{
|
||||||
return ecma_get_magic_string_zt (lit_magic_record_get_magic_str_id (lit));
|
return lit_get_magic_string_zt (lit_magic_record_get_magic_str_id (lit));
|
||||||
}
|
}
|
||||||
case LIT_MAGIC_STR_EX_T:
|
case LIT_MAGIC_STR_EX_T:
|
||||||
{
|
{
|
||||||
return ecma_get_magic_string_ex_zt (lit_magic_record_ex_get_magic_str_id (lit));
|
return lit_get_magic_string_ex_zt (lit_magic_record_ex_get_magic_str_id (lit));
|
||||||
}
|
}
|
||||||
case LIT_NUMBER_T:
|
case LIT_NUMBER_T:
|
||||||
{
|
{
|
||||||
@ -524,22 +526,22 @@ lit_get_literal_by_cp (lit_cpointer_t lit_cp) /**< compressed pointer to literal
|
|||||||
return lit;
|
return lit;
|
||||||
} /* lit_get_literal_by_cp */
|
} /* lit_get_literal_by_cp */
|
||||||
|
|
||||||
ecma_string_hash_t
|
lit_string_hash_t
|
||||||
lit_charset_literal_get_hash (literal_t lit) /**< literal */
|
lit_charset_literal_get_hash (literal_t lit) /**< literal */
|
||||||
{
|
{
|
||||||
return static_cast<lit_charset_record_t *> (lit)->get_hash ();
|
return static_cast<lit_charset_record_t *> (lit)->get_hash ();
|
||||||
} /* lit_charset_literal_get_hash */
|
} /* lit_charset_literal_get_hash */
|
||||||
|
|
||||||
ecma_magic_string_id_t
|
lit_magic_string_id_t
|
||||||
lit_magic_record_get_magic_str_id (literal_t lit) /**< literal */
|
lit_magic_record_get_magic_str_id (literal_t lit) /**< literal */
|
||||||
{
|
{
|
||||||
return static_cast<lit_magic_record_t *> (lit)->get_magic_str_id<ecma_magic_string_id_t> ();
|
return static_cast<lit_magic_record_t *> (lit)->get_magic_str_id<lit_magic_string_id_t> ();
|
||||||
} /* lit_magic_record_get_magic_str_id */
|
} /* lit_magic_record_get_magic_str_id */
|
||||||
|
|
||||||
ecma_magic_string_ex_id_t
|
lit_magic_string_ex_id_t
|
||||||
lit_magic_record_ex_get_magic_str_id (literal_t lit) /**< literal */
|
lit_magic_record_ex_get_magic_str_id (literal_t lit) /**< literal */
|
||||||
{
|
{
|
||||||
return static_cast<lit_magic_record_t *> (lit)->get_magic_str_id<ecma_magic_string_ex_id_t> ();
|
return static_cast<lit_magic_record_t *> (lit)->get_magic_str_id<lit_magic_string_ex_id_t> ();
|
||||||
} /* lit_magic_record_ex_get_magic_str_id */
|
} /* lit_magic_record_ex_get_magic_str_id */
|
||||||
|
|
||||||
int32_t
|
int32_t
|
||||||
|
|||||||
@ -46,11 +46,11 @@ const char *lit_literal_to_str_internal_buf (literal_t);
|
|||||||
|
|
||||||
literal_t lit_get_literal_by_cp (lit_cpointer_t);
|
literal_t lit_get_literal_by_cp (lit_cpointer_t);
|
||||||
|
|
||||||
ecma_string_hash_t lit_charset_literal_get_hash (literal_t);
|
lit_string_hash_t lit_charset_literal_get_hash (literal_t);
|
||||||
ecma_number_t lit_charset_literal_get_number (literal_t);
|
ecma_number_t lit_charset_literal_get_number (literal_t);
|
||||||
int32_t lit_charset_record_get_length (literal_t);
|
int32_t lit_charset_record_get_length (literal_t);
|
||||||
|
|
||||||
ecma_magic_string_id_t lit_magic_record_get_magic_str_id (literal_t);
|
lit_magic_string_id_t lit_magic_record_get_magic_str_id (literal_t);
|
||||||
ecma_magic_string_ex_id_t lit_magic_record_ex_get_magic_str_id (literal_t);
|
lit_magic_string_ex_id_t lit_magic_record_ex_get_magic_str_id (literal_t);
|
||||||
|
|
||||||
#endif /* LIT_LITERAL_H */
|
#endif /* LIT_LITERAL_H */
|
||||||
|
|||||||
245
jerry-core/lit/lit-magic-strings.cpp
Normal file
245
jerry-core/lit/lit-magic-strings.cpp
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
/* Copyright 2015 Samsung Electronics Co., Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "lit-magic-strings.h"
|
||||||
|
|
||||||
|
#include "ecma-helpers.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lengths of magic strings
|
||||||
|
*/
|
||||||
|
static ecma_length_t lit_magic_string_lengths[LIT_MAGIC_STRING__COUNT];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* External magic strings data array, count and lengths
|
||||||
|
*/
|
||||||
|
static const ecma_char_ptr_t *lit_magic_string_ex_array = NULL;
|
||||||
|
static uint32_t lit_magic_string_ex_count = 0;
|
||||||
|
static const ecma_length_t *lit_magic_string_ex_lengths = NULL;
|
||||||
|
|
||||||
|
#ifndef JERRY_NDEBUG
|
||||||
|
/**
|
||||||
|
* Maximum length among lengths of magic strings
|
||||||
|
*/
|
||||||
|
static ecma_length_t lit_magic_string_max_length;
|
||||||
|
#endif /* !JERRY_NDEBUG */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize data for string helpers
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
lit_magic_strings_init (void)
|
||||||
|
{
|
||||||
|
/* Initializing magic strings information */
|
||||||
|
|
||||||
|
#ifndef JERRY_NDEBUG
|
||||||
|
lit_magic_string_max_length = 0;
|
||||||
|
#endif /* !JERRY_NDEBUG */
|
||||||
|
|
||||||
|
for (lit_magic_string_id_t id = (lit_magic_string_id_t) 0;
|
||||||
|
id < LIT_MAGIC_STRING__COUNT;
|
||||||
|
id = (lit_magic_string_id_t) (id + 1))
|
||||||
|
{
|
||||||
|
lit_magic_string_lengths[id] = ecma_zt_string_length (lit_get_magic_string_zt (id));
|
||||||
|
|
||||||
|
#ifndef JERRY_NDEBUG
|
||||||
|
lit_magic_string_max_length = JERRY_MAX (lit_magic_string_max_length, lit_magic_string_lengths[id]);
|
||||||
|
|
||||||
|
JERRY_ASSERT (lit_magic_string_max_length <= LIT_MAGIC_STRING_LENGTH_LIMIT);
|
||||||
|
#endif /* !JERRY_NDEBUG */
|
||||||
|
}
|
||||||
|
} /* ecma_strings_init */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialize external magic strings
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
lit_magic_strings_ex_init (void)
|
||||||
|
{
|
||||||
|
lit_magic_string_ex_array = NULL;
|
||||||
|
lit_magic_string_ex_count = 0;
|
||||||
|
lit_magic_string_ex_lengths = NULL;
|
||||||
|
} /* ecma_strings_ex_init */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register external magic strings
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
lit_magic_strings_ex_set (const ecma_char_ptr_t* ex_str_items, /**< character arrays, representing
|
||||||
|
* external magic strings' contents */
|
||||||
|
uint32_t count, /**< number of the strings */
|
||||||
|
const ecma_length_t* ex_str_lengths) /**< lengths of the strings */
|
||||||
|
{
|
||||||
|
JERRY_ASSERT (ex_str_items != NULL);
|
||||||
|
JERRY_ASSERT (count > 0);
|
||||||
|
JERRY_ASSERT (ex_str_lengths != NULL);
|
||||||
|
|
||||||
|
JERRY_ASSERT (lit_magic_string_ex_array == NULL);
|
||||||
|
JERRY_ASSERT (lit_magic_string_ex_count == 0);
|
||||||
|
JERRY_ASSERT (lit_magic_string_ex_lengths == NULL);
|
||||||
|
|
||||||
|
/* Set external magic strings information */
|
||||||
|
lit_magic_string_ex_array = ex_str_items;
|
||||||
|
lit_magic_string_ex_count = count;
|
||||||
|
lit_magic_string_ex_lengths = ex_str_lengths;
|
||||||
|
|
||||||
|
#ifndef JERRY_NDEBUG
|
||||||
|
for (lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) 0;
|
||||||
|
id < lit_magic_string_ex_count;
|
||||||
|
id = (lit_magic_string_ex_id_t) (id + 1))
|
||||||
|
{
|
||||||
|
JERRY_ASSERT (lit_magic_string_ex_lengths[id] == ecma_zt_string_length (lit_get_magic_string_ex_zt (id)));
|
||||||
|
|
||||||
|
lit_magic_string_max_length = JERRY_MAX (lit_magic_string_max_length, lit_magic_string_ex_lengths[id]);
|
||||||
|
|
||||||
|
JERRY_ASSERT (lit_magic_string_max_length <= LIT_MAGIC_STRING_LENGTH_LIMIT);
|
||||||
|
}
|
||||||
|
#endif /* !JERRY_NDEBUG */
|
||||||
|
} /* ecma_strings_ex_init */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get number of external magic strings
|
||||||
|
*
|
||||||
|
* @return number of the strings, if there were registered,
|
||||||
|
* zero - otherwise.
|
||||||
|
*/
|
||||||
|
uint32_t
|
||||||
|
ecma_get_magic_string_ex_count (void)
|
||||||
|
{
|
||||||
|
return lit_magic_string_ex_count;
|
||||||
|
} /* ecma_get_magic_string_ex_count */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get specified magic string as zero-terminated string
|
||||||
|
*
|
||||||
|
* @return pointer to zero-terminated magic string
|
||||||
|
*/
|
||||||
|
const ecma_char_t *
|
||||||
|
lit_get_magic_string_zt (lit_magic_string_id_t id) /**< magic string id */
|
||||||
|
{
|
||||||
|
TODO (Support UTF-16);
|
||||||
|
|
||||||
|
switch (id)
|
||||||
|
{
|
||||||
|
#define LIT_MAGIC_STRING_DEF(id, ascii_zt_string) \
|
||||||
|
case id: return (ecma_char_t*) ascii_zt_string;
|
||||||
|
#include "lit-magic-strings.inc.h"
|
||||||
|
#undef LIT_MAGIC_STRING_DEF
|
||||||
|
|
||||||
|
case LIT_MAGIC_STRING__COUNT: break;
|
||||||
|
}
|
||||||
|
|
||||||
|
JERRY_UNREACHABLE ();
|
||||||
|
} /* lit_get_magic_string_zt */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get length of specified magic string
|
||||||
|
*
|
||||||
|
* @return length
|
||||||
|
*/
|
||||||
|
ecma_length_t
|
||||||
|
lit_get_magic_string_length (lit_magic_string_id_t id) /**< magic string id */
|
||||||
|
{
|
||||||
|
return lit_magic_string_lengths[id];
|
||||||
|
} /* ecma_get_magic_string_size */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get specified magic string as zero-terminated string from external table
|
||||||
|
*
|
||||||
|
* @return pointer to zero-terminated magic string
|
||||||
|
*/
|
||||||
|
const ecma_char_t*
|
||||||
|
lit_get_magic_string_ex_zt (lit_magic_string_ex_id_t id) /**< extern magic string id */
|
||||||
|
{
|
||||||
|
TODO (Support UTF-16);
|
||||||
|
|
||||||
|
if (lit_magic_string_ex_array && id < lit_magic_string_ex_count)
|
||||||
|
{
|
||||||
|
return lit_magic_string_ex_array[id];
|
||||||
|
}
|
||||||
|
|
||||||
|
JERRY_UNREACHABLE ();
|
||||||
|
} /* lit_get_magic_string_ex_zt */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get length of specified external magic string
|
||||||
|
*
|
||||||
|
* @return length
|
||||||
|
*/
|
||||||
|
ecma_length_t
|
||||||
|
lit_get_magic_string_ex_length (lit_magic_string_ex_id_t id) /**< external magic string id */
|
||||||
|
{
|
||||||
|
return lit_magic_string_ex_lengths[id];
|
||||||
|
} /* lit_get_magic_string_ex_length */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if passed zt-string equals to one of magic strings
|
||||||
|
* and if equal magic string was found, return it's id in 'out_id_p' argument.
|
||||||
|
*
|
||||||
|
* @return true - if magic string equal to passed string was found,
|
||||||
|
* false - otherwise.
|
||||||
|
*/
|
||||||
|
bool
|
||||||
|
lit_is_zt_string_magic (const ecma_char_t *zt_string_p, /**< zero-terminated string */
|
||||||
|
lit_magic_string_id_t *out_id_p) /**< out: magic string's id */
|
||||||
|
{
|
||||||
|
TODO (Improve performance of search);
|
||||||
|
|
||||||
|
for (lit_magic_string_id_t id = (lit_magic_string_id_t) 0;
|
||||||
|
id < LIT_MAGIC_STRING__COUNT;
|
||||||
|
id = (lit_magic_string_id_t) (id + 1))
|
||||||
|
{
|
||||||
|
if (ecma_compare_zt_strings (zt_string_p, lit_get_magic_string_zt (id)))
|
||||||
|
{
|
||||||
|
*out_id_p = id;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*out_id_p = LIT_MAGIC_STRING__COUNT;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
} /* lit_is_zt_string_magic */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if passed zt-string equals to one of external magic strings
|
||||||
|
* and if equal magic string was found, return it's id in 'out_id_p' argument.
|
||||||
|
*
|
||||||
|
* @return true - if external magic string equal to passed string was found,
|
||||||
|
* false - otherwise.
|
||||||
|
*/
|
||||||
|
bool
|
||||||
|
lit_is_zt_ex_string_magic (const ecma_char_t *zt_string_p, /**< zero-terminated string */
|
||||||
|
lit_magic_string_ex_id_t *out_id_p) /**< out: external magic string's id */
|
||||||
|
{
|
||||||
|
TODO (Improve performance of search);
|
||||||
|
|
||||||
|
for (lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) 0;
|
||||||
|
id < lit_magic_string_ex_count;
|
||||||
|
id = (lit_magic_string_ex_id_t) (id + 1))
|
||||||
|
{
|
||||||
|
if (ecma_compare_zt_strings (zt_string_p, lit_get_magic_string_ex_zt (id)))
|
||||||
|
{
|
||||||
|
*out_id_p = id;
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
*out_id_p = lit_magic_string_ex_count;
|
||||||
|
|
||||||
|
return false;
|
||||||
|
} /* lit_is_zt_ex_string_magic */
|
||||||
61
jerry-core/lit/lit-magic-strings.h
Normal file
61
jerry-core/lit/lit-magic-strings.h
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
/* Copyright 2015 Samsung Electronics Co., Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef LIT_MAGIC_STRINGS_H
|
||||||
|
#define LIT_MAGIC_STRINGS_H
|
||||||
|
|
||||||
|
#include "lit-globals.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Limit for magic string length
|
||||||
|
*/
|
||||||
|
#define LIT_MAGIC_STRING_LENGTH_LIMIT 32
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identifiers of ECMA and implementation-defined magic string constants
|
||||||
|
*/
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
#define LIT_MAGIC_STRING_DEF(id, ascii_zt_string) \
|
||||||
|
id,
|
||||||
|
#include "lit-magic-strings.inc.h"
|
||||||
|
#undef LIT_MAGIC_STRING_DEF
|
||||||
|
|
||||||
|
LIT_MAGIC_STRING__COUNT /**< number of magic strings */
|
||||||
|
} lit_magic_string_id_t;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Identifiers of implementation-defined external magic string constants
|
||||||
|
*/
|
||||||
|
typedef uint32_t lit_magic_string_ex_id_t;
|
||||||
|
|
||||||
|
extern void lit_magic_strings_init (void);
|
||||||
|
extern void lit_magic_strings_ex_init (void);
|
||||||
|
|
||||||
|
extern void lit_magic_strings_ex_set (const ecma_char_ptr_t *,
|
||||||
|
uint32_t,
|
||||||
|
const ecma_length_t *);
|
||||||
|
extern uint32_t ecma_get_magic_string_ex_count (void);
|
||||||
|
|
||||||
|
extern const ecma_char_t *lit_get_magic_string_zt (lit_magic_string_id_t);
|
||||||
|
extern ecma_length_t lit_get_magic_string_length (lit_magic_string_id_t);
|
||||||
|
|
||||||
|
extern const ecma_char_t *lit_get_magic_string_ex_zt (lit_magic_string_ex_id_t);
|
||||||
|
extern ecma_length_t lit_get_magic_string_ex_length (lit_magic_string_ex_id_t);
|
||||||
|
|
||||||
|
extern bool lit_is_zt_string_magic (const ecma_char_t *, lit_magic_string_id_t *);
|
||||||
|
extern bool lit_is_zt_ex_string_magic (const ecma_char_t *, lit_magic_string_ex_id_t *);
|
||||||
|
|
||||||
|
#endif /* LIT_MAGIC_STRINGS_H */
|
||||||
232
jerry-core/lit/lit-magic-strings.inc.h
Normal file
232
jerry-core/lit/lit-magic-strings.inc.h
Normal file
@ -0,0 +1,232 @@
|
|||||||
|
/* Copyright 2014-2015 Samsung Electronics Co., Ltd.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* List of ECMA magic strings
|
||||||
|
*/
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ARGUMENTS, "arguments")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EVAL, "eval")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PROTOTYPE, "prototype")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CONSTRUCTOR, "constructor")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CALLER, "caller")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CALLEE, "callee")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_UNDEFINED, "undefined")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NULL, "null")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FALSE, "false")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TRUE, "true")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_BOOLEAN, "boolean")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NUMBER, "number")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STRING, "string")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_OBJECT, "object")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FUNCTION, "function")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LENGTH, "length")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SOURCE, "source")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GLOBAL, "global")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IGNORECASE_UL, "ignoreCase")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MULTILINE, "multiline")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_INDEX, "index")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_INPUT, "input")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LASTINDEX_UL, "lastIndex")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NAN, "NaN")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_INFINITY_UL, "Infinity")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_UNDEFINED_UL, "Undefined")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NULL_UL, "Null")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_OBJECT_UL, "Object")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FUNCTION_UL, "Function")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ARRAY_UL, "Array")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ARGUMENTS_UL, "Arguments")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_STRING_UL, "String")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_BOOLEAN_UL, "Boolean")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NUMBER_UL, "Number")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DATE_UL, "Date")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REGEXP_UL, "RegExp")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REGEXP_SOURCE_UL, "Source")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ERROR_UL, "Error")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EVAL_ERROR_UL, "EvalError")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RANGE_ERROR_UL, "RangeError")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REFERENCE_ERROR_UL, "ReferenceError")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SYNTAX_ERROR_UL, "SyntaxError")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TYPE_ERROR_UL, "TypeError")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_URI_ERROR_UL, "URIError")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MATH_UL, "Math")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_JSON_U, "JSON")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE, "parse")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE_INT, "parseInt")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PARSE_FLOAT, "parseFloat")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_NAN, "isNaN")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_FINITE, "isFinite")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DECODE_URI, "decodeURI")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DECODE_URI_COMPONENT, "decodeURIComponent")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ENCODE_URI, "encodeURI")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ENCODE_URI_COMPONENT, "encodeURIComponent")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_PROTOTYPE_OF_UL, "getPrototypeOf")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_OWN_PROPERTY_DESCRIPTOR_UL, "getOwnPropertyDescriptor")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_OWN_PROPERTY_NAMES_UL, "getOwnPropertyNames")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CREATE, "create")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DEFINE_PROPERTY_UL, "defineProperty")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_DEFINE_PROPERTIES_UL, "defineProperties")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SEAL, "seal")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FREEZE, "freeze")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PREVENT_EXTENSIONS_UL, "preventExtensions")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_SEALED_UL, "isSealed")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_FROZEN_UL, "isFrozen")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_EXTENSIBLE, "isExtensible")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_KEYS, "keys")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_WRITABLE, "writable")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ENUMERABLE, "enumerable")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CONFIGURABLE, "configurable")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_VALUE, "value")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET, "get")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET, "set")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_E_U, "E")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LN10_U, "LN10")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LN2_U, "LN2")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LOG2E_U, "LOG2E")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LOG10E_U, "LOG10E")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PI_U, "PI")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SQRT1_2_U, "SQRT1_2")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SQRT2_U, "SQRT2")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ABS, "abs")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ACOS, "acos")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ASIN, "asin")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ATAN, "atan")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ATAN2, "atan2")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CEIL, "ceil")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_COS, "cos")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EXP, "exp")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FLOOR, "floor")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LOG, "log")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MAX, "max")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MIN, "min")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_POW, "pow")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RANDOM, "random")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_ROUND, "round")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SIN, "sin")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SQRT, "sqrt")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TAN, "tan")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FROM_CHAR_CODE_UL, "fromCharCode")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_ARRAY_UL, "isArray")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_STRING_UL, "toString")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_VALUE_OF_UL, "valueOf")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOCALE_STRING_UL, "toLocaleString")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_HAS_OWN_PROPERTY_UL, "hasOwnProperty")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_IS_PROTOTYPE_OF_UL, "isPrototypeOf")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PROPERTY_IS_ENUMERABLE_UL, "propertyIsEnumerable")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CONCAT, "concat")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_POP, "pop")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_JOIN, "join")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_PUSH, "push")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REVERSE, "reverse")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SHIFT, "shift")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SLICE, "slice")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SORT, "sort")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SPLICE, "splice")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_UNSHIFT, "unshift")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_INDEX_OF_UL, "indexOf")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LAST_INDEX_OF_UL, "lastIndexOf")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EVERY, "every")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SOME, "some")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FOR_EACH_UL, "forEach")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MAP, "map")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_FILTER, "filter")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REDUCE, "reduce")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REDUCE_RIGHT_UL, "reduceRight")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CHAR_AT_UL, "charAt")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CHAR_CODE_AT_UL, "charCodeAt")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LOCALE_COMPARE_UL, "localeCompare")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MATCH, "match")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_REPLACE, "replace")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SEARCH, "search")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SPLIT, "split")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SUBSTRING, "substring")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOWER_CASE_UL, "toLowerCase")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOCALE_LOWER_CASE_UL, "toLocaleLowerCase")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_UPPER_CASE_UL, "toUpperCase")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOCALE_UPPER_CASE_UL, "toLocaleUpperCase")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TRIM, "trim")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_FIXED_UL, "toFixed")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_EXPONENTIAL_UL, "toExponential")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_PRECISION_UL, "toPrecision")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NOW, "now")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_DATE_STRING_UL, "toDateString")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_TIME_STRING_UL, "toTimeString")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOCALE_DATE_STRING_UL, "toLocaleDateString")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_LOCALE_TIME_STRING_UL, "toLocaleTimeString")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_TIME_UL, "getTime")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_FULL_YEAR_UL, "getFullYear")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_UTC_U, "UTC")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_FULL_YEAR_UL, "getUTCFullYear")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_MONTH_UL, "getMonth")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_MONTH_UL, "getUTCMonth")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_DATE_UL, "getDate")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_DATE_UL, "getUTCDate")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_DAY_UL, "getDay")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_DAY_UL, "getUTCDay")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_HOURS_UL, "getHours")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_HOURS_UL, "getUTCHours")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_MINUTES_UL, "getMinutes")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_MINUTES_UL, "getUTCMinutes")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_SECONDS_UL, "getSeconds")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_SECONDS_UL, "getUTCSeconds")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_MILLISECONDS_UL, "getMilliseconds")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_UTC_MILLISECONDS_UL, "getUTCMilliseconds")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_GET_TIMEZONE_OFFSET_UL, "getTimezoneOffset")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_TIME_UL, "setTime")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_MILLISECONDS_UL, "setMilliseconds")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_MILLISECONDS_UL, "setUTCMilliseconds")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_SECONDS_UL, "setSeconds")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_SECONDS_UL, "setUTCSeconds")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_MINUTES_UL, "setMinutes")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_MINUTES_UL, "setUTCMinutes")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_HOURS_UL, "setHours")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_HOURS_UL, "setUTCHours")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_DATE_UL, "setDate")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_DATE_UL, "setUTCDate")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_MONTH_UL, "setMonth")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_MONTH_UL, "setUTCMonth")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_FULL_YEAR_UL, "setFullYear")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SET_UTC_FULL_YEAR_UL, "setUTCFullYear")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_UTC_STRING_UL, "toUTCString")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_ISO_STRING_UL, "toISOString")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TO_JSON_UL, "toJSON")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MAX_VALUE_U, "MAX_VALUE")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MIN_VALUE_U, "MIN_VALUE")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_POSITIVE_INFINITY_U, "POSITIVE_INFINITY")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NEGATIVE_INFINITY_U, "NEGATIVE_INFINITY")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_COMPACT_PROFILE_ERROR_UL, "CompactProfileError")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_APPLY, "apply")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_CALL, "call")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_BIND, "bind")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EXEC, "exec")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_TEST, "test")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_NAME, "name")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_MESSAGE, "message")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_G_CHAR, "g")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_I_CHAR, "i")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_M_CHAR, "m")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SLASH_CHAR, "/")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_EMPTY_NON_CAPTURE_GROUP, "(?:)")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_LEFT_SQUARE_CHAR, "[")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_RIGHT_SQUARE_CHAR, "]")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_COLON_CHAR, ":")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_COMMA_CHAR, ",")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_SPACE_CHAR, " ")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING__EMPTY, "")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Implementation-defined magic strings
|
||||||
|
*/
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING_JERRY_UL, "Jerry")
|
||||||
|
LIT_MAGIC_STRING_DEF (LIT_MAGIC_STRING__FUNCTION_TO_STRING, "function(){/* ecmascript */}")
|
||||||
@ -249,9 +249,9 @@ decode_keyword (const ecma_char_t *str_p, /**< characters buffer */
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const ecma_char_t *false_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_FALSE);
|
const ecma_char_t *false_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_FALSE);
|
||||||
const ecma_char_t *true_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_TRUE);
|
const ecma_char_t *true_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_TRUE);
|
||||||
const ecma_char_t *null_p = ecma_get_magic_string_zt (ECMA_MAGIC_STRING_NULL);
|
const ecma_char_t *null_p = lit_get_magic_string_zt (LIT_MAGIC_STRING_NULL);
|
||||||
|
|
||||||
if (strlen ((const char*) false_p) == length
|
if (strlen ((const char*) false_p) == length
|
||||||
&& !strncmp ((const char*) str_p, (const char*) false_p, length))
|
&& !strncmp ((const char*) str_p, (const char*) false_p, length))
|
||||||
@ -441,7 +441,7 @@ convert_string_to_token_transform_escape_seq (token_type tok_type, /**< type of
|
|||||||
if (source_str_size == 0)
|
if (source_str_size == 0)
|
||||||
{
|
{
|
||||||
return convert_string_to_token (tok_type,
|
return convert_string_to_token (tok_type,
|
||||||
ecma_get_magic_string_zt (ECMA_MAGIC_STRING__EMPTY),
|
lit_get_magic_string_zt (LIT_MAGIC_STRING__EMPTY),
|
||||||
0);
|
0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@ -794,7 +794,7 @@ dumper_finish_varg_code_sequence (void)
|
|||||||
* Check that byte-code operand refers to 'eval' string
|
* Check that byte-code operand refers to 'eval' string
|
||||||
*
|
*
|
||||||
* @return true - if specified byte-code operand's type is literal, and value of corresponding
|
* @return true - if specified byte-code operand's type is literal, and value of corresponding
|
||||||
* literal is equal to ECMA_MAGIC_STRING_EVAL string,
|
* literal is equal to LIT_MAGIC_STRING_EVAL string,
|
||||||
* false - otherwise.
|
* false - otherwise.
|
||||||
*/
|
*/
|
||||||
bool
|
bool
|
||||||
|
|||||||
@ -178,9 +178,9 @@ emit_error_on_eval_and_arguments (operand op, locus loc __attr_unused___)
|
|||||||
if (op.type == OPERAND_LITERAL)
|
if (op.type == OPERAND_LITERAL)
|
||||||
{
|
{
|
||||||
if (lit_literal_equal_type_zt (lit_get_literal_by_cp (op.data.lit_id),
|
if (lit_literal_equal_type_zt (lit_get_literal_by_cp (op.data.lit_id),
|
||||||
ecma_get_magic_string_zt (ECMA_MAGIC_STRING_ARGUMENTS))
|
lit_get_magic_string_zt (LIT_MAGIC_STRING_ARGUMENTS))
|
||||||
|| lit_literal_equal_type_zt (lit_get_literal_by_cp (op.data.lit_id),
|
|| lit_literal_equal_type_zt (lit_get_literal_by_cp (op.data.lit_id),
|
||||||
ecma_get_magic_string_zt (ECMA_MAGIC_STRING_EVAL)))
|
lit_get_magic_string_zt (LIT_MAGIC_STRING_EVAL)))
|
||||||
{
|
{
|
||||||
PARSE_ERROR ("'eval' and 'arguments' are not allowed here in strict mode", loc);
|
PARSE_ERROR ("'eval' and 'arguments' are not allowed here in strict mode", loc);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,7 +32,7 @@ vm_helper_for_in_enumerate_properties_names (ecma_object_t *obj_p) /**< starting
|
|||||||
* conversion (ECMA-262 v5, 12.6.4, step 4) */
|
* conversion (ECMA-262 v5, 12.6.4, step 4) */
|
||||||
{
|
{
|
||||||
const size_t bitmap_row_size = sizeof (uint32_t) * JERRY_BITSINBYTE;
|
const size_t bitmap_row_size = sizeof (uint32_t) * JERRY_BITSINBYTE;
|
||||||
uint32_t names_hashes_bitmap[(1u << ECMA_STRING_HASH_BITS) / bitmap_row_size];
|
uint32_t names_hashes_bitmap[(1u << LIT_STRING_HASH_BITS) / bitmap_row_size];
|
||||||
|
|
||||||
memset (names_hashes_bitmap, 0, sizeof (names_hashes_bitmap));
|
memset (names_hashes_bitmap, 0, sizeof (names_hashes_bitmap));
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ vm_helper_for_in_enumerate_properties_names (ecma_object_t *obj_p) /**< starting
|
|||||||
prop_name_p = ECMA_GET_NON_NULL_POINTER (ecma_string_t, prop_iter_p->u.named_accessor_property.name_p);
|
prop_name_p = ECMA_GET_NON_NULL_POINTER (ecma_string_t, prop_iter_p->u.named_accessor_property.name_p);
|
||||||
}
|
}
|
||||||
|
|
||||||
ecma_string_hash_t hash = prop_name_p->hash;
|
lit_string_hash_t hash = prop_name_p->hash;
|
||||||
uint32_t bitmap_row = hash / bitmap_row_size;
|
uint32_t bitmap_row = hash / bitmap_row_size;
|
||||||
uint32_t bitmap_column = hash % bitmap_row_size;
|
uint32_t bitmap_column = hash % bitmap_row_size;
|
||||||
|
|
||||||
|
|||||||
@ -35,8 +35,8 @@ do_strict_eval_arguments_check (ecma_object_t *ref_base_lex_env_p, /**< base of
|
|||||||
{
|
{
|
||||||
JERRY_ASSERT (ecma_is_lexical_environment (ref_base_lex_env_p));
|
JERRY_ASSERT (ecma_is_lexical_environment (ref_base_lex_env_p));
|
||||||
|
|
||||||
ecma_string_t* magic_string_eval = ecma_get_magic_string (ECMA_MAGIC_STRING_EVAL);
|
ecma_string_t* magic_string_eval = ecma_get_magic_string (LIT_MAGIC_STRING_EVAL);
|
||||||
ecma_string_t* magic_string_arguments = ecma_get_magic_string (ECMA_MAGIC_STRING_ARGUMENTS);
|
ecma_string_t* magic_string_arguments = ecma_get_magic_string (LIT_MAGIC_STRING_ARGUMENTS);
|
||||||
|
|
||||||
is_check_failed = (ecma_compare_ecma_strings (var_name_string_p,
|
is_check_failed = (ecma_compare_ecma_strings (var_name_string_p,
|
||||||
magic_string_eval)
|
magic_string_eval)
|
||||||
|
|||||||
@ -1545,23 +1545,23 @@ opfunc_typeof (opcode_t opdata, /**< operation data */
|
|||||||
|
|
||||||
if (ecma_is_value_undefined (typeof_arg))
|
if (ecma_is_value_undefined (typeof_arg))
|
||||||
{
|
{
|
||||||
type_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_UNDEFINED);
|
type_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_UNDEFINED);
|
||||||
}
|
}
|
||||||
else if (ecma_is_value_null (typeof_arg))
|
else if (ecma_is_value_null (typeof_arg))
|
||||||
{
|
{
|
||||||
type_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_OBJECT);
|
type_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_OBJECT);
|
||||||
}
|
}
|
||||||
else if (ecma_is_value_boolean (typeof_arg))
|
else if (ecma_is_value_boolean (typeof_arg))
|
||||||
{
|
{
|
||||||
type_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_BOOLEAN);
|
type_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_BOOLEAN);
|
||||||
}
|
}
|
||||||
else if (ecma_is_value_number (typeof_arg))
|
else if (ecma_is_value_number (typeof_arg))
|
||||||
{
|
{
|
||||||
type_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_NUMBER);
|
type_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_NUMBER);
|
||||||
}
|
}
|
||||||
else if (ecma_is_value_string (typeof_arg))
|
else if (ecma_is_value_string (typeof_arg))
|
||||||
{
|
{
|
||||||
type_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_STRING);
|
type_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_STRING);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1569,11 +1569,11 @@ opfunc_typeof (opcode_t opdata, /**< operation data */
|
|||||||
|
|
||||||
if (ecma_op_is_callable (typeof_arg))
|
if (ecma_op_is_callable (typeof_arg))
|
||||||
{
|
{
|
||||||
type_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_FUNCTION);
|
type_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_FUNCTION);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
type_str_p = ecma_get_magic_string (ECMA_MAGIC_STRING_OBJECT);
|
type_str_p = ecma_get_magic_string (LIT_MAGIC_STRING_OBJECT);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -89,8 +89,8 @@ main (int __attr_unused___ argc,
|
|||||||
}
|
}
|
||||||
else if (type == 1)
|
else if (type == 1)
|
||||||
{
|
{
|
||||||
ecma_magic_string_id_t msi = (ecma_magic_string_id_t) (rand () % ECMA_MAGIC_STRING__COUNT);
|
lit_magic_string_id_t msi = (lit_magic_string_id_t) (rand () % LIT_MAGIC_STRING__COUNT);
|
||||||
ptrs[j] = ecma_get_magic_string_zt (msi);
|
ptrs[j] = lit_get_magic_string_zt (msi);
|
||||||
JERRY_ASSERT (ptrs[j]);
|
JERRY_ASSERT (ptrs[j]);
|
||||||
lengths[j] = (ecma_length_t) ecma_zt_string_length (ptrs[j]);
|
lengths[j] = (ecma_length_t) ecma_zt_string_length (ptrs[j]);
|
||||||
lit_create_literal_from_charset (ptrs[j], lengths[j]);
|
lit_create_literal_from_charset (ptrs[j], lengths[j]);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user