@@ -20,25 +20,26 @@ project (${JERRY_CORE_NAME} C)
20
20
set (ENABLE_ALL_IN_ONE OFF CACHE BOOL "Enable all-in-one build?" )
21
21
22
22
# Optional features
23
- set (FEATURE_CPOINTER_32_BIT OFF CACHE BOOL "Enable 32 bit compressed pointers?" )
24
- set (FEATURE_DEBUGGER OFF CACHE BOOL "Enable JerryScript debugger?" )
25
- set (FEATURE_ERROR_MESSAGES OFF CACHE BOOL "Enable error messages?" )
26
- set (FEATURE_EXTERNAL_CONTEXT OFF CACHE BOOL "Enable external context?" )
27
- set (FEATURE_JS_PARSER ON CACHE BOOL "Enable js-parser?" )
28
- set (FEATURE_LINE_INFO OFF CACHE BOOL "Enable line info?" )
29
- set (FEATURE_LOGGING OFF CACHE BOOL "Enable logging?" )
30
- set (FEATURE_MEM_STATS OFF CACHE BOOL "Enable memory statistics?" )
31
- set (FEATURE_MEM_STRESS_TEST OFF CACHE BOOL "Enable mem-stress test?" )
32
- set (FEATURE_PARSER_DUMP OFF CACHE BOOL "Enable parser byte-code dumps?" )
33
- set (FEATURE_PROFILE "es5.1" CACHE STRING "Use default or other profile?" )
34
- set (FEATURE_REGEXP_STRICT_MODE OFF CACHE BOOL "Enable regexp strict mode?" )
35
- set (FEATURE_REGEXP_DUMP OFF CACHE BOOL "Enable regexp byte-code dumps?" )
36
- set (FEATURE_SNAPSHOT_EXEC OFF CACHE BOOL "Enable executing snapshot files?" )
37
- set (FEATURE_SNAPSHOT_SAVE OFF CACHE BOOL "Enable saving snapshot files?" )
38
- set (FEATURE_SYSTEM_ALLOCATOR OFF CACHE BOOL "Enable system allocator?" )
39
- set (FEATURE_VALGRIND OFF CACHE BOOL "Enable Valgrind support?" )
40
- set (FEATURE_VM_EXEC_STOP OFF CACHE BOOL "Enable VM execution stopping?" )
41
- set (MEM_HEAP_SIZE_KB "512" CACHE STRING "Size of memory heap, in kilobytes" )
23
+ set (FEATURE_CPOINTER_32_BIT OFF CACHE BOOL "Enable 32 bit compressed pointers?" )
24
+ set (FEATURE_DEBUGGER OFF CACHE BOOL "Enable JerryScript debugger?" )
25
+ set (FEATURE_ERROR_MESSAGES OFF CACHE BOOL "Enable error messages?" )
26
+ set (FEATURE_EXTERNAL_CONTEXT OFF CACHE BOOL "Enable external context?" )
27
+ set (FEATURE_JS_PARSER ON CACHE BOOL "Enable js-parser?" )
28
+ set (FEATURE_LINE_INFO OFF CACHE BOOL "Enable line info?" )
29
+ set (FEATURE_LOGGING OFF CACHE BOOL "Enable logging?" )
30
+ set (FEATURE_MEM_STATS OFF CACHE BOOL "Enable memory statistics?" )
31
+ set (FEATURE_MEM_STRESS_TEST OFF CACHE BOOL "Enable mem-stress test?" )
32
+ set (FEATURE_PARSER_DUMP OFF CACHE BOOL "Enable parser byte-code dumps?" )
33
+ set (FEATURE_PROFILE "es5.1" CACHE STRING "Use default or other profile?" )
34
+ set (FEATURE_REGEXP_STRICT_MODE OFF CACHE BOOL "Enable regexp strict mode?" )
35
+ set (FEATURE_REGEXP_DUMP OFF CACHE BOOL "Enable regexp byte-code dumps?" )
36
+ set (FEATURE_REGEXP_RECURSION_LIMIT "0" CACHE STRING "Limit of regexp recursion depth" )
37
+ set (FEATURE_SNAPSHOT_EXEC OFF CACHE BOOL "Enable executing snapshot files?" )
38
+ set (FEATURE_SNAPSHOT_SAVE OFF CACHE BOOL "Enable saving snapshot files?" )
39
+ set (FEATURE_SYSTEM_ALLOCATOR OFF CACHE BOOL "Enable system allocator?" )
40
+ set (FEATURE_VALGRIND OFF CACHE BOOL "Enable Valgrind support?" )
41
+ set (FEATURE_VM_EXEC_STOP OFF CACHE BOOL "Enable VM execution stopping?" )
42
+ set (MEM_HEAP_SIZE_KB "512" CACHE STRING "Size of memory heap, in kilobytes" )
42
43
43
44
# Option overrides
44
45
if (USING_MSVC )
@@ -74,26 +75,27 @@ if(FEATURE_MEM_STATS OR FEATURE_PARSER_DUMP OR FEATURE_REGEXP_DUMP)
74
75
endif ()
75
76
76
77
# Status messages
77
- message (STATUS "ENABLE_ALL_IN_ONE " ${ENABLE_ALL_IN_ONE} ${ENABLE_ALL_IN_ONE_MESSAGE} )
78
- message (STATUS "FEATURE_CPOINTER_32_BIT " ${FEATURE_CPOINTER_32_BIT} ${FEATURE_CPOINTER_32_BIT_MESSAGE} )
79
- message (STATUS "FEATURE_DEBUGGER " ${FEATURE_DEBUGGER} )
80
- message (STATUS "FEATURE_ERROR_MESSAGES " ${FEATURE_ERROR_MESSAGES} )
81
- message (STATUS "FEATURE_EXTERNAL_CONTEXT " ${FEATURE_EXTERNAL_CONTEXT} )
82
- message (STATUS "FEATURE_JS_PARSER " ${FEATURE_JS_PARSER} )
83
- message (STATUS "FEATURE_LINE_INFO " ${FEATURE_LINE_INFO} )
84
- message (STATUS "FEATURE_LOGGING " ${FEATURE_LOGGING} ${FEATURE_LOGGING_MESSAGE} )
85
- message (STATUS "FEATURE_MEM_STATS " ${FEATURE_MEM_STATS} )
86
- message (STATUS "FEATURE_MEM_STRESS_TEST " ${FEATURE_MEM_STRESS_TEST} )
87
- message (STATUS "FEATURE_PARSER_DUMP " ${FEATURE_PARSER_DUMP} ${FEATURE_PARSER_DUMP_MESSAGE} )
88
- message (STATUS "FEATURE_PROFILE " ${FEATURE_PROFILE} )
89
- message (STATUS "FEATURE_REGEXP_STRICT_MODE " ${FEATURE_REGEXP_STRICT_MODE} )
90
- message (STATUS "FEATURE_REGEXP_DUMP " ${FEATURE_REGEXP_DUMP} )
91
- message (STATUS "FEATURE_SNAPSHOT_EXEC " ${FEATURE_SNAPSHOT_EXEC} ${FEATURE_SNAPSHOT_EXEC_MESSAGE} )
92
- message (STATUS "FEATURE_SNAPSHOT_SAVE " ${FEATURE_SNAPSHOT_SAVE} ${FEATURE_SNAPSHOT_SAVE_MESSAGE} )
93
- message (STATUS "FEATURE_SYSTEM_ALLOCATOR " ${FEATURE_SYSTEM_ALLOCATOR} )
94
- message (STATUS "FEATURE_VALGRIND " ${FEATURE_VALGRIND} )
95
- message (STATUS "FEATURE_VM_EXEC_STOP " ${FEATURE_VM_EXEC_STOP} )
96
- message (STATUS "MEM_HEAP_SIZE_KB " ${MEM_HEAP_SIZE_KB} )
78
+ message (STATUS "ENABLE_ALL_IN_ONE " ${ENABLE_ALL_IN_ONE} ${ENABLE_ALL_IN_ONE_MESSAGE} )
79
+ message (STATUS "FEATURE_CPOINTER_32_BIT " ${FEATURE_CPOINTER_32_BIT} ${FEATURE_CPOINTER_32_BIT_MESSAGE} )
80
+ message (STATUS "FEATURE_DEBUGGER " ${FEATURE_DEBUGGER} )
81
+ message (STATUS "FEATURE_ERROR_MESSAGES " ${FEATURE_ERROR_MESSAGES} )
82
+ message (STATUS "FEATURE_EXTERNAL_CONTEXT " ${FEATURE_EXTERNAL_CONTEXT} )
83
+ message (STATUS "FEATURE_JS_PARSER " ${FEATURE_JS_PARSER} )
84
+ message (STATUS "FEATURE_LINE_INFO " ${FEATURE_LINE_INFO} )
85
+ message (STATUS "FEATURE_LOGGING " ${FEATURE_LOGGING} ${FEATURE_LOGGING_MESSAGE} )
86
+ message (STATUS "FEATURE_MEM_STATS " ${FEATURE_MEM_STATS} )
87
+ message (STATUS "FEATURE_MEM_STRESS_TEST " ${FEATURE_MEM_STRESS_TEST} )
88
+ message (STATUS "FEATURE_PARSER_DUMP " ${FEATURE_PARSER_DUMP} ${FEATURE_PARSER_DUMP_MESSAGE} )
89
+ message (STATUS "FEATURE_PROFILE " ${FEATURE_PROFILE} )
90
+ message (STATUS "FEATURE_REGEXP_STRICT_MODE " ${FEATURE_REGEXP_STRICT_MODE} )
91
+ message (STATUS "FEATURE_REGEXP_DUMP " ${FEATURE_REGEXP_DUMP} )
92
+ message (STATUS "FEATURE_REGEXP_RECURSION_LIMIT " ${FEATURE_REGEXP_RECURSION_LIMIT} )
93
+ message (STATUS "FEATURE_SNAPSHOT_EXEC " ${FEATURE_SNAPSHOT_EXEC} ${FEATURE_SNAPSHOT_EXEC_MESSAGE} )
94
+ message (STATUS "FEATURE_SNAPSHOT_SAVE " ${FEATURE_SNAPSHOT_SAVE} ${FEATURE_SNAPSHOT_SAVE_MESSAGE} )
95
+ message (STATUS "FEATURE_SYSTEM_ALLOCATOR " ${FEATURE_SYSTEM_ALLOCATOR} )
96
+ message (STATUS "FEATURE_VALGRIND " ${FEATURE_VALGRIND} )
97
+ message (STATUS "FEATURE_VM_EXEC_STOP " ${FEATURE_VM_EXEC_STOP} )
98
+ message (STATUS "MEM_HEAP_SIZE_KB " ${MEM_HEAP_SIZE_KB} )
97
99
98
100
# Include directories
99
101
set (INCLUDE_CORE_PUBLIC "${CMAKE_CURRENT_SOURCE_DIR} /include" )
@@ -242,6 +244,11 @@ if(FEATURE_REGEXP_STRICT_MODE)
242
244
set (DEFINES_JERRY ${DEFINES_JERRY} ENABLE_REGEXP_STRICT_MODE )
243
245
endif ()
244
246
247
+ # RegExp recursion depth limit
248
+ if (FEATURE_REGEXP_RECURSION_LIMIT )
249
+ set (DEFINES_JERRY ${DEFINES_JERRY} FEATURE_REGEXP_RECURSION_LIMIT=${FEATURE_REGEXP_RECURSION_LIMIT} )
250
+ endif ()
251
+
245
252
# RegExp byte-code dumps
246
253
if (FEATURE_REGEXP_DUMP )
247
254
set (DEFINES_JERRY ${DEFINES_JERRY} REGEXP_DUMP_BYTE_CODE )
0 commit comments