Skip to content

Commit df69e1e

Browse files
authored
Add more consts to external magic strings to get data moved from .data to .rodata. (#2534)
JerryScript-DCO-1.0-Signed-off-by: László Langó llango.u-szeged@partner.samsung.com
1 parent 81810d5 commit df69e1e

File tree

6 files changed

+18
-14
lines changed

6 files changed

+18
-14
lines changed

docs/02.API-REFERENCE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,7 @@ Registers an external magic string array.
634634

635635
```c
636636
void
637-
jerry_register_magic_strings (const jerry_char_t **ex_str_items_p,
637+
jerry_register_magic_strings (const jerry_char_t * const *ex_str_items_p,
638638
uint32_t count,
639639
const jerry_length_t *str_lengths_p);
640640
```
@@ -657,11 +657,11 @@ main (void)
657657

658658
// must be static, because 'jerry_register_magic_strings' does not copy
659659
// the items must be sorted by size at first, then lexicographically
660-
static const jerry_char_t *magic_string_items[] = {
661-
(const jerry_char_t *) "magicstring1",
662-
(const jerry_char_t *) "magicstring2",
663-
(const jerry_char_t *) "magicstring3"
664-
};
660+
static const jerry_char_t * const magic_string_items[] = {
661+
(const jerry_char_t *) "magicstring1",
662+
(const jerry_char_t *) "magicstring2",
663+
(const jerry_char_t *) "magicstring3"
664+
};
665665
uint32_t num_magic_string_items = (uint32_t) (sizeof (magic_string_items) / sizeof (jerry_char_t *));
666666

667667
// must be static, because 'jerry_register_magic_strings' does not copy

jerry-core/api/jerry.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,14 +258,16 @@ jerry_get_context_data (const jerry_context_data_manager_t *manager_p)
258258
* Register external magic string array
259259
*/
260260
void
261-
jerry_register_magic_strings (const jerry_char_t **ex_str_items_p, /**< character arrays, representing
262-
* external magic strings' contents */
261+
jerry_register_magic_strings (const jerry_char_t * const *ex_str_items_p, /**< character arrays, representing
262+
* external magic strings' contents */
263263
uint32_t count, /**< number of the strings */
264264
const jerry_length_t *str_lengths_p) /**< lengths of all strings */
265265
{
266266
jerry_assert_api_available ();
267267

268-
lit_magic_strings_ex_set ((const lit_utf8_byte_t **) ex_str_items_p, count, (const lit_utf8_size_t *) str_lengths_p);
268+
lit_magic_strings_ex_set ((const lit_utf8_byte_t * const *) ex_str_items_p,
269+
count,
270+
(const lit_utf8_size_t *) str_lengths_p);
269271
} /* jerry_register_magic_strings */
270272

271273
/**

jerry-core/include/jerryscript-core.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,7 +303,8 @@ typedef struct jerry_context_t jerry_context_t;
303303
*/
304304
void jerry_init (jerry_init_flag_t flags);
305305
void jerry_cleanup (void);
306-
void jerry_register_magic_strings (const jerry_char_t **ex_str_items_p, uint32_t count,
306+
void jerry_register_magic_strings (const jerry_char_t * const *ex_str_items_p,
307+
uint32_t count,
307308
const jerry_length_t *str_lengths_p);
308309
void jerry_gc (jerry_gc_mode_t mode);
309310
void *jerry_get_context_data (const jerry_context_data_manager_t *manager_p);

jerry-core/jcontext/jcontext.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ struct jerry_context_t
9494
jmem_pools_chunk_t *jmem_free_16_byte_chunk_p; /**< list of free sixteen byte pool chunks */
9595
#endif /* JERRY_CPOINTER_32_BIT */
9696
jmem_free_unused_memory_callback_t jmem_free_unused_memory_callback; /**< Callback for freeing up memory. */
97-
const lit_utf8_byte_t **lit_magic_string_ex_array; /**< array of external magic strings */
97+
const lit_utf8_byte_t * const *lit_magic_string_ex_array; /**< array of external magic strings */
9898
const lit_utf8_size_t *lit_magic_string_ex_sizes; /**< external magic string lengths */
9999
ecma_lit_storage_item_t *string_list_first_p; /**< first item of the literal string list */
100100
ecma_lit_storage_item_t *number_list_first_p; /**< first item of the literal number list */

jerry-core/lit/lit-magic-strings.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,8 @@ lit_get_magic_string_ex_size (lit_magic_string_ex_id_t id) /**< external magic s
134134
* Register external magic strings
135135
*/
136136
void
137-
lit_magic_strings_ex_set (const lit_utf8_byte_t **ex_str_items, /**< character arrays, representing
138-
* external magic strings' contents */
137+
lit_magic_strings_ex_set (const lit_utf8_byte_t * const *ex_str_items, /**< character arrays, representing
138+
* external magic strings' contents */
139139
uint32_t count, /**< number of the strings */
140140
const lit_utf8_size_t *ex_str_sizes) /**< sizes of the strings */
141141
{

jerry-core/lit/lit-magic-strings.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,8 @@ lit_utf8_size_t lit_get_magic_string_size (lit_magic_string_id_t id);
5858
const lit_utf8_byte_t *lit_get_magic_string_ex_utf8 (lit_magic_string_ex_id_t id);
5959
lit_utf8_size_t lit_get_magic_string_ex_size (lit_magic_string_ex_id_t id);
6060

61-
void lit_magic_strings_ex_set (const lit_utf8_byte_t **ex_str_items, uint32_t count,
61+
void lit_magic_strings_ex_set (const lit_utf8_byte_t * const *ex_str_items,
62+
uint32_t count,
6263
const lit_utf8_size_t *ex_str_sizes);
6364

6465
lit_magic_string_id_t lit_is_utf8_string_magic (const lit_utf8_byte_t *string_p, lit_utf8_size_t string_size);

0 commit comments

Comments
 (0)