Skip to content

Commit e4e130e

Browse files
authored
Update JerryScript submodule to post 2.3 version (#1949)
Based on: #1933 Original author IoT.js-DCO-1.0-Signed-off-by: bence gabor kis [email protected] IoT.js-DCO-1.0-Signed-off-by: Peter Gal [email protected]
1 parent d3a73d7 commit e4e130e

File tree

8 files changed

+135
-33
lines changed

8 files changed

+135
-33
lines changed

cmake/iotjs.cmake

+5-5
Original file line numberDiff line numberDiff line change
@@ -471,18 +471,18 @@ message(STATUS "EXTERNAL_LIBS ${EXTERNAL_LIBS}")
471471
message(STATUS "EXTERNAL_MODULES ${EXTERNAL_MODULES}")
472472
message(STATUS "IOTJS_LINKER_FLAGS ${IOTJS_LINKER_FLAGS}")
473473
message(STATUS "IOTJS_PROFILE ${IOTJS_PROFILE}")
474-
message(STATUS "JERRY_DEBUGGER ${FEATURE_DEBUGGER}")
475-
message(STATUS "JERRY_HEAP_SIZE_KB ${MEM_HEAP_SIZE_KB}")
476-
message(STATUS "JERRY_MEM_STATS ${FEATURE_MEM_STATS}")
477-
message(STATUS "JERRY_PROFILE ${FEATURE_PROFILE}")
474+
message(STATUS "JERRY_DEBUGGER ${JERRY_DEBUGGER}")
475+
message(STATUS "JERRY_GLOBAL_HEAP_SIZE ${JERRY_GLOBAL_HEAP_SIZE}")
476+
message(STATUS "JERRY_MEM_STATS ${JERRY_MEM_STATS}")
477+
message(STATUS "JERRY_PROFILE ${JERRY_PROFILE}")
478478
message(STATUS "TARGET_ARCH ${TARGET_ARCH}")
479479
message(STATUS "TARGET_BOARD ${TARGET_BOARD}")
480480
message(STATUS "TARGET_OS ${TARGET_OS}")
481481
message(STATUS "TARGET_SYSTEMROOT ${TARGET_SYSTEMROOT}")
482482

483483
iotjs_add_compile_flags(${IOTJS_MODULE_DEFINES})
484484

485-
if(FEATURE_DEBUGGER)
485+
if(JERRY_DEBUGGER)
486486
iotjs_add_compile_flags("-DJERRY_DEBUGGER")
487487
endif()
488488

cmake/jerry.cmake

+18-16
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,10 @@ ExternalProject_Add(hostjerry
2929
-DJERRY_CMDLINE=OFF
3030
-DJERRY_CMDLINE_SNAPSHOT=ON
3131
-DJERRY_EXT=ON
32-
-DFEATURE_LOGGING=ON
33-
-DFEATURE_SNAPSHOT_SAVE=${ENABLE_SNAPSHOT}
34-
-DFEATURE_PROFILE=${FEATURE_PROFILE}
32+
-DJERRY_LOGGING=ON
33+
-DJERRY_ERROR_MESSAGES=ON
34+
-DJERRY_SNAPSHOT_SAVE=${ENABLE_SNAPSHOT}
35+
-DJERRY_PROFILE=${JERRY_PROFILE}
3536
${EXTRA_JERRY_CMAKE_PARAMS}
3637

3738
# The snapshot tool does not require the system allocator
@@ -43,7 +44,7 @@ ExternalProject_Add(hostjerry
4344
# should not be used as it returns 64bit pointers which
4445
# can not be represented correctly in the JerryScript engine
4546
# currently.
46-
-DFEATURE_SYSTEM_ALLOCATOR=OFF
47+
-DJERRY_SYSTEM_ALLOCATOR=OFF
4748
)
4849
set(JERRY_HOST_SNAPSHOT
4950
${CMAKE_BINARY_DIR}/${DEPS_HOST_JERRY}/bin/jerry-snapshot)
@@ -95,7 +96,7 @@ endif()
9596

9697
# Add a few cmake options based on buildtype/external cmake defines
9798
if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
98-
list(APPEND DEPS_LIB_JERRY_ARGS -DFEATURE_ERROR_MESSAGES=ON)
99+
list(APPEND DEPS_LIB_JERRY_ARGS -DJERRY_ERROR_MESSAGES=ON)
99100
endif()
100101

101102
# NuttX is not using the default port implementation of JerryScript
@@ -106,11 +107,11 @@ else()
106107
endif()
107108

108109
add_cmake_arg(DEPS_LIB_JERRY_ARGS ENABLE_LTO)
109-
add_cmake_arg(DEPS_LIB_JERRY_ARGS FEATURE_MEM_STATS)
110-
add_cmake_arg(DEPS_LIB_JERRY_ARGS FEATURE_ERROR_MESSAGES)
111-
add_cmake_arg(DEPS_LIB_JERRY_ARGS FEATURE_DEBUGGER)
112-
add_cmake_arg(DEPS_LIB_JERRY_ARGS MEM_HEAP_SIZE_KB)
113-
add_cmake_arg(DEPS_LIB_JERRY_ARGS JERRY_HEAP_SECTION_ATTR)
110+
add_cmake_arg(DEPS_LIB_JERRY_ARGS JERRY_MEM_STATS)
111+
add_cmake_arg(DEPS_LIB_JERRY_ARGS JERRY_ERROR_MESSAGES)
112+
add_cmake_arg(DEPS_LIB_JERRY_ARGS JERRY_DEBUGGER)
113+
add_cmake_arg(DEPS_LIB_JERRY_ARGS JERRY_GLOBAL_HEAP_SIZE)
114+
add_cmake_arg(DEPS_LIB_JERRY_ARGS JERRY_ATTR_GLOBAL_HEAP)
114115

115116
separate_arguments(EXTRA_JERRY_CMAKE_PARAMS)
116117

@@ -135,12 +136,13 @@ ExternalProject_Add(libjerry
135136
-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
136137
-DENABLE_ALL_IN_ONE=ON
137138
-DJERRY_CMDLINE=OFF
138-
-DFEATURE_SNAPSHOT_EXEC=${ENABLE_SNAPSHOT}
139-
-DFEATURE_SNAPSHOT_SAVE=OFF
140-
-DFEATURE_PROFILE=${FEATURE_PROFILE}
141-
-DFEATURE_LOGGING=ON
142-
-DFEATURE_LINE_INFO=${FEATURE_JS_BACKTRACE}
143-
-DFEATURE_VM_EXEC_STOP=ON
139+
-DJERRY_SNAPSHOT_EXEC=${ENABLE_SNAPSHOT}
140+
-DJERRY_SNAPSHOT_SAVE=OFF
141+
-DJERRY_PROFILE=${JERRY_PROFILE}
142+
-DJERRY_LOGGING=ON
143+
-DJERRY_LINE_INFO=${JERRY_LINE_INFO}
144+
-DJERRY_VM_EXEC_STOP=ON
145+
-DJERRY_ERROR_MESSAGES=ON
144146
-DENABLE_LTO=${ENABLE_LTO}
145147
${DEPS_LIB_JERRY_ARGS}
146148
${EXTRA_JERRY_CMAKE_PARAMS}

config/nuttx/stm32f4dis/app/jerry_port.c

+99
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,102 @@ double jerry_port_get_current_time(void) {
6363
void jerryx_port_handler_print_char(char c) { /**< the character to print */
6464
printf("%c", c);
6565
} /* jerryx_port_handler_print_char */
66+
67+
/**
68+
* Normalize a file path
69+
*
70+
* @return length of the path written to the output buffer
71+
*/
72+
size_t jerry_port_normalize_path(
73+
const char *in_path_p, /**< input file path */
74+
char *out_buf_p, /**< output buffer */
75+
size_t out_buf_size, /**< size of output buffer */
76+
char *base_file_p) /**< base file path */
77+
{
78+
(void)base_file_p;
79+
80+
size_t len = strlen(in_path_p);
81+
if (len + 1 > out_buf_size) {
82+
return 0;
83+
}
84+
85+
/* Return the original string. */
86+
strcpy(out_buf_p, in_path_p);
87+
return len;
88+
} /* jerry_port_normalize_path */
89+
90+
/**
91+
* Get the module object of a native module.
92+
*
93+
* @return undefined
94+
*/
95+
jerry_value_t jerry_port_get_native_module(
96+
jerry_value_t name) /**< module specifier */
97+
{
98+
(void)name;
99+
return jerry_create_undefined();
100+
} /* jerry_port_get_native_module */
101+
102+
/**
103+
* Determines the size of the given file.
104+
* @return size of the file
105+
*/
106+
static size_t jerry_port_get_file_size(FILE *file_p) /**< opened file */
107+
{
108+
fseek(file_p, 0, SEEK_END);
109+
long size = ftell(file_p);
110+
fseek(file_p, 0, SEEK_SET);
111+
112+
return (size_t)size;
113+
} /* jerry_port_get_file_size */
114+
115+
/**
116+
* Opens file with the given path and reads its source.
117+
* @return the source of the file
118+
*/
119+
uint8_t *jerry_port_read_source(const char *file_name_p, /**< file name */
120+
size_t *out_size_p) /**< [out] read bytes */
121+
{
122+
FILE *file_p = fopen(file_name_p, "rb");
123+
124+
if (file_p == NULL) {
125+
jerry_port_log(JERRY_LOG_LEVEL_ERROR, "Error: failed to open file: %s\n",
126+
file_name_p);
127+
return NULL;
128+
}
129+
130+
size_t file_size = jerry_port_get_file_size(file_p);
131+
uint8_t *buffer_p = (uint8_t *)malloc(file_size);
132+
133+
if (buffer_p == NULL) {
134+
fclose(file_p);
135+
136+
jerry_port_log(JERRY_LOG_LEVEL_ERROR,
137+
"Error: failed to allocate memory for module");
138+
return NULL;
139+
}
140+
141+
size_t bytes_read = fread(buffer_p, 1u, file_size, file_p);
142+
143+
if (!bytes_read) {
144+
fclose(file_p);
145+
free(buffer_p);
146+
147+
jerry_port_log(JERRY_LOG_LEVEL_ERROR, "Error: failed to read file: %s\n",
148+
file_name_p);
149+
return NULL;
150+
}
151+
152+
fclose(file_p);
153+
*out_size_p = bytes_read;
154+
155+
return buffer_p;
156+
} /* jerry_port_read_source */
157+
158+
/**
159+
* Release the previously opened file's content.
160+
*/
161+
void jerry_port_release_source(uint8_t *buffer_p) /**< buffer to free */
162+
{
163+
free(buffer_p);
164+
} /* jerry_port_release_source */

deps/jerry

Submodule jerry updated 2898 files

src/modules/iotjs_module_process.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ JS_FUNCTION(proc_chdir) {
232232

233233
#ifdef EXPOSE_GC
234234
JS_FUNCTION(garbage_collector) {
235-
jerry_gc(JERRY_GC_SEVERITY_LOW);
235+
jerry_gc(JERRY_GC_PRESSURE_LOW);
236236

237237
return jerry_create_undefined();
238238
}

tools/build.py

+9-8
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ def init_options():
193193
jerry_group.add_argument('--jerry-profile',
194194
metavar='FILE', action='store', default='es5.1',
195195
help='Specify the profile for JerryScript (default: %(default)s). '
196-
'Possible values are "es5.1", "es2015-subset" or an absolute '
196+
'Possible values are "es5.1", "es.next" or an absolute '
197197
'path to a custom JerryScript profile file.')
198198
jerry_group.add_argument('--js-backtrace',
199199
choices=['ON', 'OFF'], type=str.upper,
@@ -334,11 +334,11 @@ def build_iotjs(options):
334334
'-DBUILD_LIB_ONLY=%s' % get_on_off(options.buildlib), # --buildlib
335335
'-DCREATE_SHARED_LIB=%s' % get_on_off(options.create_shared_lib),
336336
# --jerry-memstat
337-
'-DFEATURE_MEM_STATS=%s' % get_on_off(options.jerry_memstat),
337+
'-DJERRY_MEM_STATS=%s' % get_on_off(options.jerry_memstat),
338338
# --external-modules
339339
"-DEXTERNAL_MODULES='%s'" % ';'.join(options.external_modules),
340340
# --jerry-profile
341-
"-DFEATURE_PROFILE='%s'" % options.jerry_profile,
341+
"-DJERRY_PROFILE='%s'" % options.jerry_profile,
342342
]
343343

344344
if options.target_os in ['nuttx', 'tizenrt']:
@@ -349,22 +349,23 @@ def build_iotjs(options):
349349

350350
# --jerry-heaplimit
351351
if options.jerry_heaplimit:
352-
cmake_opt.append('-DMEM_HEAP_SIZE_KB=%d' % options.jerry_heaplimit)
352+
cmake_opt.append('-DJERRY_GLOBAL_HEAP_SIZE=%d' %
353+
options.jerry_heaplimit)
353354
if options.jerry_heaplimit > 512:
354355
cmake_opt.append("-DEXTRA_JERRY_CMAKE_PARAMS='%s'" %
355-
"-DFEATURE_CPOINTER_32_BIT=ON")
356+
"-DJERRY_CPOINTER_32_BIT=ON")
356357

357358
# --jerry-heap-section
358359
if options.jerry_heap_section:
359-
cmake_opt.append("-DJERRY_HEAP_SECTION_ATTR='%s'" %
360+
cmake_opt.append("-DJERRY_ATTR_GLOBAL_HEAP='%s'" %
360361
options.jerry_heap_section)
361362

362363
# --jerry-debugger
363364
if options.jerry_debugger:
364-
cmake_opt.append("-DFEATURE_DEBUGGER=ON")
365+
cmake_opt.append("-DJERRY_DEBUGGER=ON")
365366

366367
# --js-backtrace
367-
cmake_opt.append("-DFEATURE_JS_BACKTRACE=%s" %
368+
cmake_opt.append("-DJERRY_LINE_INFO=%s" %
368369
options.js_backtrace)
369370

370371
# --cmake-param

tools/measure_coverage.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ mv src/cover_js src/js
164164
# Build iot.js
165165
# We need to use the system allocator to have enough memory, for now this can
166166
# only be done with a 32-bit build
167-
common_build_opts="--jerry-cmake-param=-DFEATURE_SYSTEM_ALLOCATOR=ON
167+
common_build_opts="--jerry-cmake-param=-DJERRY_SYSTEM_ALLOCATOR=ON
168168
--compile-flag=-coverage
169169
--no-snapshot"
170170

tools/travis_script.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
'--clean',
5454
'--compile-flag=-fno-common',
5555
'--compile-flag=-fno-omit-frame-pointer',
56-
'--jerry-cmake-param=-DFEATURE_SYSTEM_ALLOCATOR=ON',
56+
'--jerry-cmake-param=-DJERRY_SYSTEM_ALLOCATOR=ON',
5757
'--no-check-valgrind',
5858
'--no-snapshot',
5959
'--profile=test/profiles/host-linux.profile',

0 commit comments

Comments
 (0)