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:
@@ -25,6 +25,8 @@
|
||||
|
||||
#include "config.h"
|
||||
#include "jrt.h"
|
||||
#include "lit-globals.h"
|
||||
#include "lit-magic-strings.h"
|
||||
#include "mem-allocator.h"
|
||||
#include "rcs-recordset.h"
|
||||
|
||||
@@ -566,24 +568,6 @@ typedef struct
|
||||
bool is_configurable;
|
||||
} 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
|
||||
/**
|
||||
* Description of an ecma-number
|
||||
@@ -689,11 +673,6 @@ typedef double ecma_number_t;
|
||||
*/
|
||||
#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
|
||||
*/
|
||||
@@ -712,11 +691,6 @@ typedef double ecma_number_t;
|
||||
*/
|
||||
#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.
|
||||
*/
|
||||
@@ -768,39 +742,6 @@ FIXME (Move to library that should define the type (literal.h /* ? */))
|
||||
typedef rcs_record_t *literal_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
|
||||
*/
|
||||
@@ -817,7 +758,7 @@ typedef struct ecma_string_t
|
||||
uint8_t container;
|
||||
|
||||
/** 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)
|
||||
@@ -844,10 +785,10 @@ typedef struct ecma_string_t
|
||||
} concatenation;
|
||||
|
||||
/** 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 */
|
||||
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 */
|
||||
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" */
|
||||
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;
|
||||
;
|
||||
@@ -1315,7 +1315,7 @@ ecma_number_to_zt_string (ecma_number_t num, /**< ecma-number */
|
||||
if (ecma_number_is_nan (num))
|
||||
{
|
||||
// 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_size);
|
||||
}
|
||||
@@ -1341,7 +1341,7 @@ ecma_number_to_zt_string (ecma_number_t num, /**< ecma-number */
|
||||
else if (ecma_number_is_infinity (num))
|
||||
{
|
||||
// 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_size);
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
/**
|
||||
* 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.
|
||||
@@ -46,37 +46,18 @@
|
||||
JERRY_STATIC_ASSERT ((uint32_t) ((int32_t) 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
|
||||
ecma_init_ecma_string_from_lit_cp (ecma_string_t *string_p,
|
||||
lit_cpointer_t lit_index,
|
||||
bool is_stack_var);
|
||||
static void
|
||||
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);
|
||||
|
||||
static void
|
||||
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);
|
||||
/**
|
||||
* 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_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
|
||||
*/
|
||||
@@ -412,7 +308,7 @@ ecma_init_ecma_string_from_lit_cp (ecma_string_t *string_p, /**< descriptor to i
|
||||
*/
|
||||
static void
|
||||
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 */
|
||||
bool is_stack_var) /**< flag indicating whether the string descriptor
|
||||
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->is_stack_var = (is_stack_var != 0);
|
||||
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),
|
||||
ecma_magic_string_lengths[magic_string_id]);
|
||||
string_p->hash = ecma_chars_buffer_calc_hash_last_chars (lit_get_magic_string_zt (magic_string_id),
|
||||
lit_get_magic_string_length (magic_string_id));
|
||||
|
||||
string_p->u.common_field = 0;
|
||||
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
|
||||
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 */
|
||||
bool is_stack_var) /**< flag indicating whether the string descriptor
|
||||
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->is_stack_var = (is_stack_var != 0);
|
||||
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),
|
||||
ecma_magic_string_ex_lengths[magic_string_ex_id]);
|
||||
string_p->hash = ecma_chars_buffer_calc_hash_last_chars (lit_get_magic_string_ex_zt (magic_string_ex_id),
|
||||
lit_get_magic_string_ex_length (magic_string_ex_id));
|
||||
|
||||
string_p->u.common_field = 0;
|
||||
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));
|
||||
zt_str_p[length] = 0;
|
||||
|
||||
ecma_magic_string_id_t magic_string_id;
|
||||
if (ecma_is_zt_string_magic (zt_str_p, &magic_string_id))
|
||||
lit_magic_string_id_t magic_string_id;
|
||||
if (lit_is_zt_string_magic (zt_str_p, &magic_string_id))
|
||||
{
|
||||
mem_heap_free_block (zt_str_p);
|
||||
return ecma_get_magic_string (magic_string_id);
|
||||
}
|
||||
|
||||
ecma_magic_string_ex_id_t magic_string_ex_id;
|
||||
if (ecma_is_zt_ex_string_magic (zt_str_p, &magic_string_ex_id))
|
||||
lit_magic_string_ex_id_t 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);
|
||||
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);
|
||||
|
||||
ecma_magic_string_id_t magic_string_id;
|
||||
if (ecma_is_zt_string_magic (string_p, &magic_string_id))
|
||||
lit_magic_string_id_t magic_string_id;
|
||||
if (lit_is_zt_string_magic (string_p, &magic_string_id))
|
||||
{
|
||||
return ecma_get_magic_string (magic_string_id);
|
||||
}
|
||||
|
||||
ecma_magic_string_ex_id_t magic_string_ex_id;
|
||||
if (ecma_is_zt_ex_string_magic (string_p, &magic_string_ex_id))
|
||||
lit_magic_string_ex_id_t 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);
|
||||
}
|
||||
@@ -556,7 +452,7 @@ ecma_new_ecma_string_from_uint32 (uint32_t uint32_number) /**< UInt32-represente
|
||||
FIXME (/* Use digit to char conversion routine */);
|
||||
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 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_l] : ECMA_CHAR_NULL
|
||||
@@ -602,8 +498,8 @@ ecma_new_ecma_string_from_number (ecma_number_t num) /**< ecma-number */
|
||||
str_buf,
|
||||
sizeof (str_buf));
|
||||
|
||||
ecma_magic_string_id_t magic_string_id;
|
||||
if (ecma_is_zt_string_magic (str_buf, &magic_string_id))
|
||||
lit_magic_string_id_t magic_string_id;
|
||||
if (lit_is_zt_string_magic (str_buf, &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
|
||||
ecma_new_ecma_string_on_stack_from_magic_string_id (ecma_string_t *string_p, /**< pointer to the ecma-string
|
||||
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_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
|
||||
*/
|
||||
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_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
|
||||
*/
|
||||
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_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.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;
|
||||
}
|
||||
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);
|
||||
|
||||
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 (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;
|
||||
@@ -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:
|
||||
{
|
||||
const ecma_magic_string_id_t id = string_desc_p->u.magic_string_id;
|
||||
const size_t length = ecma_magic_string_lengths[id];
|
||||
const lit_magic_string_id_t id = string_desc_p->u.magic_string_id;
|
||||
const size_t length = lit_get_magic_string_length (id);
|
||||
|
||||
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);
|
||||
|
||||
@@ -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:
|
||||
{
|
||||
const ecma_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 lit_magic_string_ex_id_t id = string_desc_p->u.magic_string_ex_id;
|
||||
const size_t length = lit_get_magic_string_ex_length (id);
|
||||
|
||||
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);
|
||||
|
||||
@@ -1465,11 +1361,11 @@ ecma_string_get_length (const ecma_string_t *string_p) /**< ecma-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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
@@ -1755,55 +1651,13 @@ ecma_zt_string_length (const ecma_char_t *string_p) /**< zero-terminated string
|
||||
return 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
|
||||
*
|
||||
* @return ecma-string containing specified magic string
|
||||
*/
|
||||
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);
|
||||
} /* 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
|
||||
*/
|
||||
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);
|
||||
} /* 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
|
||||
*
|
||||
@@ -1890,14 +1684,14 @@ ecma_is_zt_ex_string_magic (const ecma_char_t *zt_string_p, /**< zero-terminated
|
||||
*/
|
||||
static bool
|
||||
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));
|
||||
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 */
|
||||
|
||||
/**
|
||||
@@ -1911,14 +1705,14 @@ ecma_is_string_magic_longpath (const ecma_string_t *string_p, /**< ecma-string *
|
||||
*/
|
||||
static bool
|
||||
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));
|
||||
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 */
|
||||
|
||||
/**
|
||||
@@ -1930,18 +1724,18 @@ ecma_is_ex_string_magic_longpath (const ecma_string_t *string_p, /**< ecma-strin
|
||||
*/
|
||||
bool
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
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);
|
||||
}
|
||||
@@ -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
|
||||
* 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));
|
||||
|
||||
return false;
|
||||
@@ -1968,18 +1762,18 @@ ecma_is_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
||||
*/
|
||||
bool
|
||||
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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
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);
|
||||
}
|
||||
@@ -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
|
||||
* 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));
|
||||
|
||||
return false;
|
||||
@@ -2002,7 +1796,7 @@ ecma_is_ex_string_magic (const ecma_string_t *string_p, /**< ecma-string */
|
||||
*
|
||||
* @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 */
|
||||
|
||||
{
|
||||
@@ -2010,11 +1804,11 @@ ecma_string_hash (const ecma_string_t *string_p) /**< ecma-string to calculate h
|
||||
} /* 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
|
||||
*/
|
||||
ecma_string_hash_t
|
||||
lit_string_hash_t
|
||||
ecma_chars_buffer_calc_hash_last_chars (const ecma_char_t *chars, /**< characters 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 t4 = (t3 >> 8) ^ (t3 & 0xffu);
|
||||
|
||||
return (ecma_string_hash_t) t4;
|
||||
return (lit_string_hash_t) t4;
|
||||
} /* 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);
|
||||
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,
|
||||
ecma_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_ex_id (ecma_magic_string_ex_id_t id);
|
||||
lit_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 (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_copy_or_ref_ecma_string (ecma_string_t *string_desc_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);
|
||||
extern ecma_length_t ecma_zt_string_length (const ecma_char_t *string_p);
|
||||
|
||||
extern void ecma_strings_init (void);
|
||||
extern void ecma_strings_ex_init (void);
|
||||
extern void ecma_strings_ex_set (const ecma_char_ptr_t* ex_str_items,
|
||||
uint32_t count,
|
||||
const ecma_length_t* ex_str_lengths);
|
||||
extern uint32_t ecma_get_magic_string_ex_count (void);
|
||||
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);
|
||||
extern ecma_string_t* ecma_get_magic_string (lit_magic_string_id_t id);
|
||||
extern ecma_string_t* ecma_get_magic_string_ex (lit_magic_string_ex_id_t id);
|
||||
extern bool ecma_is_string_magic (const ecma_string_t *string_p, lit_magic_string_id_t *out_id_p);
|
||||
extern bool ecma_is_ex_string_magic (const ecma_string_t *string_p, lit_magic_string_ex_id_t *out_id_p);
|
||||
extern lit_string_hash_t ecma_string_hash (const ecma_string_t *string_p);
|
||||
extern lit_string_hash_t ecma_chars_buffer_calc_hash_last_chars (const ecma_char_t *chars, ecma_length_t length);
|
||||
|
||||
/* ecma-helpers-number.cpp */
|
||||
extern const ecma_number_t ecma_number_relative_eps;
|
||||
|
||||
@@ -35,8 +35,6 @@
|
||||
void
|
||||
ecma_init (void)
|
||||
{
|
||||
ecma_strings_init ();
|
||||
ecma_strings_ex_init ();
|
||||
ecma_init_builtins ();
|
||||
ecma_lcache_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
|
||||
*/
|
||||
#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
|
||||
@@ -164,7 +164,7 @@ ecma_lcache_insert (ecma_object_t *object_p, /**< object */
|
||||
#ifndef CONFIG_ECMA_LCACHE_DISABLE
|
||||
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)
|
||||
{
|
||||
@@ -243,7 +243,7 @@ ecma_lcache_lookup (ecma_object_t *object_p, /**< object */
|
||||
* then the output parameter is not set */
|
||||
{
|
||||
#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;
|
||||
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_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.
|
||||
* 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 */}")
|
||||
Reference in New Issue
Block a user