Skip to content

Commit a2d5acb

Browse files
committed
Follow-up refactoring of logging-related parts
This patch: * Ensures that all calls to `jerry_port_log` in jerry-core happen via macros defined in jrt.h. Also, it unifies the names of those macros: as `JERRY_ERROR_MSG` and `JERRY_WARNING_MSG` gave a good pattern that was well aligned with the naming scheme of the log level enum, `JERRY_DLOG` and `JERRY_DDLOG` were rewritten to `JERRY_DEBUG_MSG` and `JERRY_TRACE_MSG`. * Ensures that all debug logging code parts of jerry-core (i.e., memory statistics, JS byte-code dumps, and RegExp byte-code dumps) are guarded by macros: `JMEM_STATS`, `PARSER_DUMP_BYTE_CODE`, and `REGEXP_DUMP_BYTE_CODE`, which in turn are controled by cmake build system feature flags `FEATURE_MEM_STATS`, `FEATURE_PARSER_DUMP`, and `FEATURE_REGEXP_DUMP`. * Ensures that all debug logging functionalities can be controled during run time (provided that they were enabled during build time): the engine has `JERRY_INIT_MEM_STATS[_SEPARATE]`, `JERRY_INIT_SHOW_OPCODES`, `JERRY_INIT_SHOW_REGEXP_OPCODES` init flags, and the default unix/linux command line app has corresponding command line switches.` * Drops `FEATURE_LOG`, `JERRY_ENABLE_LOG`, and `JERRY_INIT_ENABLE_LOG`, as their name was misleadingly general, even though they mostly controled the regexp engine only. The above-mentioned `*REGEXP*` things mostly act as their replacements. * Updates build, test, and measurement tool scripts, and documentation. JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
1 parent 1b996a9 commit a2d5acb

30 files changed

+333
-362
lines changed

docs/02.API-REFERENCE.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
Enum that contains the following elements:
66

77
- JERRY_INIT_EMPTY - empty flag set
8-
- JERRY_INIT_ENABLE_LOG - enable logging
9-
- JERRY_INIT_SHOW_OPCODES - dump byte-code to stdout after parse
8+
- JERRY_INIT_SHOW_OPCODES - dump byte-code to log after parse
9+
- JERRY_INIT_SHOW_REGEXP_OPCODES - dump regexp byte-code to log after compilation
1010
- JERRY_INIT_MEM_STATS - dump memory statistics
1111
- JERRY_INIT_MEM_STATS_SEPARATE - dump memory statistics and reset peak values after parse
1212

@@ -181,16 +181,16 @@ jerry_init (jerry_init_flag_t flags)
181181
`flags` - combination of various engine configuration flags:
182182

183183
- `JERRY_INIT_EMPTY` - no flags, just initialize in default configuration.
184-
- `JERRY_INIT_ENABLE_LOG` - enable logging.
185184
- `JERRY_INIT_SHOW_OPCODES` - print compiled byte-code.
185+
- `JERRY_INIT_SHOW_REGEXP_OPCODES` - print compiled regexp byte-code.
186186
- `JERRY_INIT_MEM_STATS` - dump memory statistics.
187187
- `JERRY_INIT_MEM_STATS_SEPARATE` - dump memory statistics and reset peak values after parse.
188188

189189
**Example**
190190

191191
```c
192192
{
193-
jerry_init (JERRY_INIT_SHOW_OPCODES | JERRY_INIT_ENABLE_LOG);
193+
jerry_init (JERRY_INIT_SHOW_OPCODES | JERRY_INIT_SHOW_REGEXP_OPCODES);
194194

195195
// ...
196196

jerry-core/CMakeLists.txt

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,23 +20,25 @@ project (${JERRY_CORE_NAME} C)
2020
# Optional features
2121
set(FEATURE_PROFILE "full" CACHE STRING "Profile types: full, minimal")
2222
set(FEATURE_ERROR_MESSAGES OFF CACHE BOOL "Enable error messages?")
23-
set(FEATURE_LOG OFF CACHE BOOL "Enable logging?")
2423
set(FEATURE_VALGRIND OFF CACHE BOOL "Enable Valgrind support?")
2524
set(FEATURE_VALGRIND_FREYA OFF CACHE BOOL "Enable Valgrind-Freya support?")
2625
set(FEATURE_MEM_STRESS_TEST OFF CACHE BOOL "Enable mem-stress test?")
27-
set(FEATURE_MEM_STATS OFF CACHE BOOL "Enable memory-statistics?")
26+
set(FEATURE_MEM_STATS OFF CACHE BOOL "Enable memory statistics?")
27+
set(FEATURE_PARSER_DUMP OFF CACHE BOOL "Enable parser byte-code dumps?")
28+
set(FEATURE_REGEXP_DUMP OFF CACHE BOOL "Enable regexp byte-code dumps?")
2829
set(FEATURE_SNAPSHOT_SAVE OFF CACHE BOOL "Allow to save snapshot files?")
2930
set(FEATURE_SNAPSHOT_EXEC OFF CACHE BOOL "Allow to execute snapshot files?")
3031
set(MEM_HEAP_SIZE_KB "512" CACHE STRING "Size of memory heap, in kilobytes")
3132

3233
# Status messages
3334
message(STATUS "FEATURE_PROFILE " ${FEATURE_PROFILE})
3435
message(STATUS "FEATURE_ERROR_MESSAGES " ${FEATURE_ERROR_MESSAGES})
35-
message(STATUS "FEATURE_LOG " ${FEATURE_LOG})
3636
message(STATUS "FEATURE_VALGRIND " ${FEATURE_VALGRIND})
3737
message(STATUS "FEATURE_VALGRIND_FREYA " ${FEATURE_VALGRIND_FREYA})
3838
message(STATUS "FEATURE_MEM_STRESS_TEST " ${FEATURE_MEM_STRESS_TEST})
3939
message(STATUS "FEATURE_MEM_STATS " ${FEATURE_MEM_STATS})
40+
message(STATUS "FEATURE_PARSER_DUMP " ${FEATURE_PARSER_DUMP})
41+
message(STATUS "FEATURE_REGEXP_DUMP " ${FEATURE_REGEXP_DUMP})
4042
message(STATUS "FEATURE_SNAPSHOT_SAVE " ${FEATURE_SNAPSHOT_SAVE})
4143
message(STATUS "FEATURE_SNAPSHOT_EXEC " ${FEATURE_SNAPSHOT_EXEC})
4244
message(STATUS "MEM_HEAP_SIZE_KB " ${MEM_HEAP_SIZE_KB})
@@ -170,11 +172,6 @@ if(FEATURE_ERROR_MESSAGES)
170172
set(DEFINES_JERRY ${DEFINES_JERRY} JERRY_ENABLE_ERROR_MESSAGES)
171173
endif()
172174

173-
# Log
174-
if(FEATURE_LOG)
175-
set(DEFINES_JERRY ${DEFINES_JERRY} JERRY_ENABLE_LOG)
176-
endif()
177-
178175
# Valgrind
179176
if(FEATURE_VALGRIND)
180177
set(DEFINES_JERRY ${DEFINES_JERRY} JERRY_VALGRIND)
@@ -197,6 +194,16 @@ if(FEATURE_MEM_STATS)
197194
set(DEFINES_JERRY ${DEFINES_JERRY} JMEM_STATS)
198195
endif()
199196

197+
# Parser byte-code dumps
198+
if(FEATURE_PARSER_DUMP)
199+
set(DEFINES_JERRY ${DEFINES_JERRY} PARSER_DUMP_BYTE_CODE)
200+
endif()
201+
202+
# RegExp byte-code dumps
203+
if(FEATURE_REGEXP_DUMP)
204+
set(DEFINES_JERRY ${DEFINES_JERRY} REGEXP_DUMP_BYTE_CODE)
205+
endif()
206+
200207
# Snapshot save
201208
if(FEATURE_SNAPSHOT_SAVE)
202209
set(DEFINES_JERRY ${DEFINES_JERRY} JERRY_ENABLE_SNAPSHOT_SAVE)

0 commit comments

Comments
 (0)