diff --git a/docs/02.API-REFERENCE.md b/docs/02.API-REFERENCE.md index 2a8d2bc3c..dd08908c6 100644 --- a/docs/02.API-REFERENCE.md +++ b/docs/02.API-REFERENCE.md @@ -654,6 +654,8 @@ someplace_in_the_code (void) Registers an external magic string array. *Note*: The strings in the array must be sorted by size at first, then lexicographically. +*Note*: The maximum number of external magic strings is limited to 2147483648 (UINT32_MAX / 2). + If there are more than 2147483648 external magic strings the extra is cropped. **Prototype** diff --git a/jerry-core/ecma/base/ecma-globals.h b/jerry-core/ecma/base/ecma-globals.h index 4e7c06976..766f4c33a 100644 --- a/jerry-core/ecma/base/ecma-globals.h +++ b/jerry-core/ecma/base/ecma-globals.h @@ -1272,7 +1272,6 @@ typedef enum ECMA_DIRECT_STRING_PTR = 0, /**< string is a string pointer, only used by property names */ ECMA_DIRECT_STRING_MAGIC = 1, /**< string is a magic string */ ECMA_DIRECT_STRING_UINT = 2, /**< string is an unsigned int */ - ECMA_DIRECT_STRING_MAGIC_EX = 3, /**< string is an extended magic string */ } ecma_direct_string_type_t; /** diff --git a/jerry-core/ecma/base/ecma-helpers-string.c b/jerry-core/ecma/base/ecma-helpers-string.c index 59100bd1d..f8d62f7a8 100644 --- a/jerry-core/ecma/base/ecma-helpers-string.c +++ b/jerry-core/ecma/base/ecma-helpers-string.c @@ -47,8 +47,7 @@ JERRY_STATIC_ASSERT ((ECMA_TYPE_DIRECT_STRING & 0x1) != 0, JERRY_STATIC_ASSERT (LIT_MAGIC_STRING__COUNT <= ECMA_DIRECT_STRING_MAX_IMM, all_magic_strings_must_be_encoded_as_direct_string); -JERRY_STATIC_ASSERT ((int) ECMA_DIRECT_STRING_UINT == (int) ECMA_STRING_CONTAINER_UINT32_IN_DESC - && (int) ECMA_DIRECT_STRING_MAGIC_EX == (int) ECMA_STRING_CONTAINER_MAGIC_STRING_EX, +JERRY_STATIC_ASSERT ((int) ECMA_DIRECT_STRING_UINT == (int) ECMA_STRING_CONTAINER_UINT32_IN_DESC, ecma_direct_and_container_types_must_match); JERRY_STATIC_ASSERT (ECMA_PROPERTY_NAME_TYPE_SHIFT > ECMA_VALUE_SHIFT, @@ -135,18 +134,19 @@ ecma_string_get_chars_fast (const ecma_string_t *string_p, /**< ecma-string */ { if (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC) { - lit_magic_string_id_t id = (lit_magic_string_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + + if (id >= LIT_MAGIC_STRING__COUNT) + { + id -= LIT_MAGIC_STRING__COUNT; + + *size_p = lit_get_magic_string_ex_size (id); + return lit_get_magic_string_ex_utf8 (id); + } *size_p = lit_get_magic_string_size (id); return lit_get_magic_string_utf8 (id); } - - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC_EX); - - lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); - - *size_p = lit_get_magic_string_ex_size (id); - return lit_get_magic_string_ex_utf8 (id); } JERRY_ASSERT (string_p->refs_and_container >= ECMA_STRING_REF_ONE); @@ -184,9 +184,11 @@ ecma_new_ecma_string_from_magic_string_ex_id (lit_magic_string_ex_id_t id) /**< { JERRY_ASSERT (id < lit_get_magic_string_ex_count ()); - if (JERRY_LIKELY (id <= ECMA_DIRECT_STRING_MAX_IMM)) + uintptr_t string_id = (uintptr_t) (id + LIT_MAGIC_STRING__COUNT); + + if (JERRY_LIKELY (string_id <= ECMA_DIRECT_STRING_MAX_IMM)) { - return (ecma_string_t *) ECMA_CREATE_DIRECT_STRING (ECMA_DIRECT_STRING_MAGIC_EX, (uintptr_t) id); + return (ecma_string_t *) ECMA_CREATE_DIRECT_STRING (ECMA_DIRECT_STRING_MAGIC, string_id); } ecma_string_t *string_desc_p = ecma_alloc_string (); @@ -578,14 +580,27 @@ ecma_append_chars_to_string (ecma_string_t *string1_p, /**< base ecma-string */ { case ECMA_DIRECT_STRING_MAGIC: { - lit_magic_string_id_t id = (lit_magic_string_id_t) ECMA_GET_DIRECT_STRING_VALUE (string1_p); - cesu8_string1_p = lit_get_magic_string_utf8 (id); - cesu8_string1_size = lit_get_magic_string_size (id); - cesu8_string1_length = cesu8_string1_size; + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string1_p); + + if (id >= LIT_MAGIC_STRING__COUNT) + { + id -= LIT_MAGIC_STRING__COUNT; + cesu8_string1_p = lit_get_magic_string_ex_utf8 (id); + cesu8_string1_size = lit_get_magic_string_ex_size (id); + cesu8_string1_length = lit_utf8_string_length (cesu8_string1_p, cesu8_string1_size); + } + else + { + cesu8_string1_p = lit_get_magic_string_utf8 (id); + cesu8_string1_size = lit_get_magic_string_size (id); + cesu8_string1_length = cesu8_string1_size; + } + break; } - case ECMA_DIRECT_STRING_UINT: + default: { + JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string1_p) == ECMA_DIRECT_STRING_UINT); cesu8_string1_size = ecma_uint32_to_utf8_string ((uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string1_p), uint32_to_string_buffer, ECMA_MAX_CHARS_IN_STRINGIFIED_UINT32); @@ -594,16 +609,6 @@ ecma_append_chars_to_string (ecma_string_t *string1_p, /**< base ecma-string */ string1_is_uint32 = true; break; } - default: - { - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string1_p) == ECMA_DIRECT_STRING_MAGIC_EX); - - lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) ECMA_GET_DIRECT_STRING_VALUE (string1_p); - cesu8_string1_p = lit_get_magic_string_ex_utf8 (id); - cesu8_string1_size = lit_get_magic_string_ex_size (id); - cesu8_string1_length = lit_utf8_string_length (cesu8_string1_p, cesu8_string1_size); - break; - } } } else @@ -791,14 +796,26 @@ ecma_concat_ecma_strings (ecma_string_t *string1_p, /**< first ecma-string */ { case ECMA_DIRECT_STRING_MAGIC: { - lit_magic_string_id_t id = (lit_magic_string_id_t) ECMA_GET_DIRECT_STRING_VALUE (string2_p); - cesu8_string2_p = lit_get_magic_string_utf8 (id); - cesu8_string2_size = lit_get_magic_string_size (id); - cesu8_string2_length = cesu8_string2_size; + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string2_p); + + if (id >= LIT_MAGIC_STRING__COUNT) + { + id -= LIT_MAGIC_STRING__COUNT; + cesu8_string2_p = lit_get_magic_string_ex_utf8 (id); + cesu8_string2_size = lit_get_magic_string_ex_size (id); + cesu8_string2_length = lit_utf8_string_length (cesu8_string2_p, cesu8_string2_size); + } + else + { + cesu8_string2_p = lit_get_magic_string_utf8 (id); + cesu8_string2_size = lit_get_magic_string_size (id); + cesu8_string2_length = cesu8_string2_size; + } break; } - case ECMA_DIRECT_STRING_UINT: + default: { + JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string2_p) == ECMA_DIRECT_STRING_UINT); cesu8_string2_size = ecma_uint32_to_utf8_string ((uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string2_p), uint32_to_string_buffer, ECMA_MAX_CHARS_IN_STRINGIFIED_UINT32); @@ -806,16 +823,6 @@ ecma_concat_ecma_strings (ecma_string_t *string1_p, /**< first ecma-string */ cesu8_string2_length = cesu8_string2_size; break; } - default: - { - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string2_p) == ECMA_DIRECT_STRING_MAGIC_EX); - - lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) ECMA_GET_DIRECT_STRING_VALUE (string2_p); - cesu8_string2_p = lit_get_magic_string_ex_utf8 (id); - cesu8_string2_size = lit_get_magic_string_ex_size (id); - cesu8_string2_length = lit_utf8_string_length (cesu8_string2_p, cesu8_string2_size); - break; - } } } else @@ -1462,19 +1469,35 @@ ecma_string_get_chars (const ecma_string_t *string_p, /**< ecma-string */ { case ECMA_DIRECT_STRING_MAGIC: { - lit_magic_string_id_t id = (lit_magic_string_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); - size = lit_get_magic_string_size (id); - length = size; + if (id >= LIT_MAGIC_STRING__COUNT) + { + id -= LIT_MAGIC_STRING__COUNT; + size = lit_get_magic_string_ex_size (id); + result_p = lit_get_magic_string_ex_utf8 (id); + length = 0; - result_p = lit_get_magic_string_utf8 (id); + if (JERRY_UNLIKELY (*flags_p & ECMA_STRING_FLAG_IS_ASCII)) + { + length = lit_utf8_string_length (result_p, size); + } + } + else + { + size = lit_get_magic_string_size (id); + length = size; - /* All magic strings must be ascii strings. */ - JERRY_ASSERT (ECMA_STRING_IS_ASCII (result_p, size)); + result_p = lit_get_magic_string_utf8 (id); + + /* All magic strings must be ascii strings. */ + JERRY_ASSERT (ECMA_STRING_IS_ASCII (result_p, size)); + } break; } - case ECMA_DIRECT_STRING_UINT: + default: { + JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_UINT); uint32_t uint32_number = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); size = (lit_utf8_size_t) ecma_string_get_uint32_size (uint32_number); @@ -1484,22 +1507,6 @@ ecma_string_get_chars (const ecma_string_t *string_p, /**< ecma-string */ *flags_p |= ECMA_STRING_FLAG_MUST_BE_FREED; break; } - default: - { - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC_EX); - - lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); - - size = lit_get_magic_string_ex_size (id); - result_p = lit_get_magic_string_ex_utf8 (id); - length = 0; - - if (JERRY_UNLIKELY (*flags_p & ECMA_STRING_FLAG_IS_ASCII)) - { - length = lit_utf8_string_length (result_p, size); - } - break; - } } } else @@ -1673,10 +1680,6 @@ ecma_string_get_property_name_hash (ecma_property_t property, /**< property name ecma_string_t *prop_name_p = ECMA_GET_NON_NULL_POINTER (ecma_string_t, prop_name_cp); return prop_name_p->hash; } - case ECMA_DIRECT_STRING_MAGIC_EX: - { - return (lit_string_hash_t) (LIT_MAGIC_STRING__COUNT + prop_name_cp); - } default: { return (lit_string_hash_t) prop_name_cp; @@ -1984,22 +1987,23 @@ ecma_string_get_ascii_size (const ecma_string_t *string_p) /**< ecma-string */ { case ECMA_DIRECT_STRING_MAGIC: { - lit_magic_string_id_t id = (lit_magic_string_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + + if (id >= LIT_MAGIC_STRING__COUNT) + { + return ECMA_STRING_NO_ASCII_SIZE; + } JERRY_ASSERT (ECMA_STRING_IS_ASCII (lit_get_magic_string_utf8 (id), lit_get_magic_string_size (id))); + return lit_get_magic_string_size (id); } - case ECMA_DIRECT_STRING_UINT: - { - uint32_t uint32_number = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); - return ecma_string_get_uint32_size (uint32_number); - } default: { - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC_EX); - - return ECMA_STRING_NO_ASCII_SIZE; + JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_UINT); + uint32_t uint32_number = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + return ecma_string_get_uint32_size (uint32_number); } } } @@ -2031,9 +2035,10 @@ ecma_string_get_length (const ecma_string_t *string_p) /**< ecma-string */ if (ECMA_IS_DIRECT_STRING (string_p)) { - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC_EX); + JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC); + JERRY_ASSERT ((uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p) >= LIT_MAGIC_STRING__COUNT); - lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p) - LIT_MAGIC_STRING__COUNT; return lit_utf8_string_length (lit_get_magic_string_ex_utf8 (id), lit_get_magic_string_ex_size (id)); } @@ -2075,9 +2080,10 @@ ecma_string_get_utf8_length (const ecma_string_t *string_p) /**< ecma-string */ if (ECMA_IS_DIRECT_STRING (string_p)) { - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC_EX); + JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC); + JERRY_ASSERT ((uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p) >= LIT_MAGIC_STRING__COUNT); - lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p) - LIT_MAGIC_STRING__COUNT; return lit_get_utf8_length_of_cesu8_string (lit_get_magic_string_ex_utf8 (id), lit_get_magic_string_ex_size (id)); } @@ -2132,10 +2138,10 @@ ecma_string_get_size (const ecma_string_t *string_p) /**< ecma-string */ if (ECMA_IS_DIRECT_STRING (string_p)) { - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC_EX); + JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC); + JERRY_ASSERT ((uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p) >= LIT_MAGIC_STRING__COUNT); - lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); - return lit_get_magic_string_ex_size (id); + return lit_get_magic_string_ex_size ((uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p) - LIT_MAGIC_STRING__COUNT); } switch (ECMA_STRING_GET_CONTAINER (string_p)) @@ -2174,9 +2180,10 @@ ecma_string_get_utf8_size (const ecma_string_t *string_p) /**< ecma-string */ if (ECMA_IS_DIRECT_STRING (string_p)) { - JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC_EX); + JERRY_ASSERT (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC); + JERRY_ASSERT ((uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p) >= LIT_MAGIC_STRING__COUNT); - lit_magic_string_ex_id_t id = (lit_magic_string_ex_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p) - LIT_MAGIC_STRING__COUNT; return lit_get_utf8_size_of_cesu8_string (lit_get_magic_string_ex_utf8 (id), lit_get_magic_string_ex_size (id)); } @@ -2259,7 +2266,12 @@ ecma_get_string_magic (const ecma_string_t *string_p) /**< ecma-string */ { if (ECMA_IS_DIRECT_STRING_WITH_TYPE (string_p, ECMA_DIRECT_STRING_MAGIC)) { - return (lit_magic_string_id_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + uint32_t id = (uint32_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); + + if (id < LIT_MAGIC_STRING__COUNT) + { + return (lit_magic_string_id_t) id; + } } return LIT_MAGIC_STRING__COUNT; @@ -2278,14 +2290,7 @@ ecma_string_hash (const ecma_string_t *string_p) /**< ecma-string to calculate h return (string_p->hash); } - lit_string_hash_t hash = (lit_string_hash_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); - - if (ECMA_GET_DIRECT_STRING_TYPE (string_p) == ECMA_DIRECT_STRING_MAGIC_EX) - { - hash = (lit_string_hash_t) (hash + LIT_MAGIC_STRING__COUNT); - } - - return hash; + return (lit_string_hash_t) ECMA_GET_DIRECT_STRING_VALUE (string_p); } /* ecma_string_hash */ /** diff --git a/jerry-core/ecma/operations/ecma-objects.c b/jerry-core/ecma/operations/ecma-objects.c index c1b2dad32..42adcb767 100644 --- a/jerry-core/ecma/operations/ecma-objects.c +++ b/jerry-core/ecma/operations/ecma-objects.c @@ -1559,7 +1559,8 @@ ecma_op_object_get_property_names (ecma_object_t *obj_p, /**< object */ ecma_property_pair_t *prop_pair_p = (ecma_property_pair_t *) prop_iter_p; if (ECMA_PROPERTY_GET_NAME_TYPE (*property_p) == ECMA_DIRECT_STRING_MAGIC - && prop_pair_p->names_cp[i] >= LIT_NON_INTERNAL_MAGIC_STRING__COUNT) + && prop_pair_p->names_cp[i] >= LIT_NON_INTERNAL_MAGIC_STRING__COUNT + && prop_pair_p->names_cp[i] < LIT_MAGIC_STRING__COUNT) { /* Internal properties are never enumerated. */ continue; diff --git a/jerry-core/include/jerryscript-snapshot.h b/jerry-core/include/jerryscript-snapshot.h index db1282dbb..0def79fbf 100644 --- a/jerry-core/include/jerryscript-snapshot.h +++ b/jerry-core/include/jerryscript-snapshot.h @@ -30,7 +30,7 @@ extern "C" /** * Jerry snapshot format version. */ -#define JERRY_SNAPSHOT_VERSION (21u) +#define JERRY_SNAPSHOT_VERSION (22u) /** * Flags for jerry_generate_snapshot and jerry_generate_function_snapshot. diff --git a/jerry-core/lit/lit-magic-strings.c b/jerry-core/lit/lit-magic-strings.c index b316ebf68..dea5f1e62 100644 --- a/jerry-core/lit/lit-magic-strings.c +++ b/jerry-core/lit/lit-magic-strings.c @@ -17,6 +17,11 @@ #include "lit-magic-strings.h" #include "lit-strings.h" +/** + * Maximum number of external magic strings that can be registered. + */ +#define LIT_EXTERNAL_MAGIC_STRING_LIMIT (UINT32_MAX / 2) + /** * Get number of external magic strings * @@ -35,7 +40,7 @@ lit_get_magic_string_ex_count (void) * @return pointer to zero-terminated magic string */ const lit_utf8_byte_t * -lit_get_magic_string_utf8 (lit_magic_string_id_t id) /**< magic string id */ +lit_get_magic_string_utf8 (uint32_t id) /**< magic string id */ { static const lit_utf8_byte_t * const lit_magic_strings[] JERRY_CONST_DATA = { @@ -60,7 +65,7 @@ lit_get_magic_string_utf8 (lit_magic_string_id_t id) /**< magic string id */ * @return size in bytes */ lit_utf8_size_t -lit_get_magic_string_size (lit_magic_string_id_t id) /**< magic string id */ +lit_get_magic_string_size (uint32_t id) /**< magic string id */ { static const lit_magic_size_t lit_magic_string_sizes[] JERRY_CONST_DATA = { @@ -112,7 +117,7 @@ lit_get_magic_string_size_block_start (lit_utf8_size_t size) /**< magic string s * @return pointer to zero-terminated magic string */ const lit_utf8_byte_t * -lit_get_magic_string_ex_utf8 (lit_magic_string_ex_id_t id) /**< extern magic string id */ +lit_get_magic_string_ex_utf8 (uint32_t id) /**< extern magic string id */ { JERRY_ASSERT (JERRY_CONTEXT (lit_magic_string_ex_array) && id < JERRY_CONTEXT (lit_magic_string_ex_count)); @@ -125,7 +130,7 @@ lit_get_magic_string_ex_utf8 (lit_magic_string_ex_id_t id) /**< extern magic str * @return size in bytes */ lit_utf8_size_t -lit_get_magic_string_ex_size (lit_magic_string_ex_id_t id) /**< external magic string id */ +lit_get_magic_string_ex_size (uint32_t id) /**< external magic string id */ { return JERRY_CONTEXT (lit_magic_string_ex_sizes)[id]; } /* lit_get_magic_string_ex_size */ @@ -147,6 +152,12 @@ lit_magic_strings_ex_set (const lit_utf8_byte_t * const *ex_str_items, /**< char JERRY_ASSERT (JERRY_CONTEXT (lit_magic_string_ex_count) == 0); JERRY_ASSERT (JERRY_CONTEXT (lit_magic_string_ex_sizes) == NULL); + /* Limit the number of external magic strings */ + if (count > LIT_EXTERNAL_MAGIC_STRING_LIMIT) + { + count = LIT_EXTERNAL_MAGIC_STRING_LIMIT; + } + /* Set external magic strings information */ JERRY_CONTEXT (lit_magic_string_ex_array) = ex_str_items; JERRY_CONTEXT (lit_magic_string_ex_count) = count; diff --git a/jerry-core/lit/lit-magic-strings.h b/jerry-core/lit/lit-magic-strings.h index d4364b820..a20f70554 100644 --- a/jerry-core/lit/lit-magic-strings.h +++ b/jerry-core/lit/lit-magic-strings.h @@ -78,11 +78,11 @@ typedef uint32_t lit_magic_string_ex_id_t; uint32_t lit_get_magic_string_ex_count (void); -const lit_utf8_byte_t *lit_get_magic_string_utf8 (lit_magic_string_id_t id); -lit_utf8_size_t lit_get_magic_string_size (lit_magic_string_id_t id); +const lit_utf8_byte_t *lit_get_magic_string_utf8 (uint32_t id); +lit_utf8_size_t lit_get_magic_string_size (uint32_t id); -const lit_utf8_byte_t *lit_get_magic_string_ex_utf8 (lit_magic_string_ex_id_t id); -lit_utf8_size_t lit_get_magic_string_ex_size (lit_magic_string_ex_id_t id); +const lit_utf8_byte_t *lit_get_magic_string_ex_utf8 (uint32_t id); +lit_utf8_size_t lit_get_magic_string_ex_size (uint32_t id); void lit_magic_strings_ex_set (const lit_utf8_byte_t * const *ex_str_items, uint32_t count, diff --git a/tests/unit-core/test-snapshot.c b/tests/unit-core/test-snapshot.c index f17c2126b..ecbc031fb 100644 --- a/tests/unit-core/test-snapshot.c +++ b/tests/unit-core/test-snapshot.c @@ -223,7 +223,7 @@ main (void) /* Check the snapshot data. Unused bytes should be filled with zeroes */ const uint8_t expected_data[] = { - 0x4A, 0x52, 0x52, 0x59, 0x15, 0x00, 0x00, 0x00, + 0x4A, 0x52, 0x52, 0x59, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00,