58 Commits

Author SHA1 Message Date
Ruben Ayrapetyan
668eef73c8 Implementing system call sequences in plain assembler routines; removing -fomit-frame-pointer for non-optimized builds. 2014-12-02 15:42:09 +03:00
Ruben Ayrapetyan
103e1b1c8a Running cppcheck only for sources affected by local changes. 2014-11-21 16:28:52 +03:00
Ruben Ayrapetyan
27827e607c Reducing cases in which full static source analysis is performed.
- starting vera++ only on changed sources;
 - starting cppcheck only on changed sources, if no header file was changed,
   and on all sources, if at least one header file was changed.
2014-11-19 16:54:52 +03:00
Ruben Ayrapetyan
9f7e17e9fd Removing musl libc usage. Linking to libgcc (for __aeabi_* routines on ARM target). 2014-11-18 21:17:31 +03:00
Ruben Ayrapetyan
7bb6c6bc84 Removing debug_release.* build targets. 2014-11-17 13:52:22 +03:00
Ruben Ayrapetyan
c5cc82d793 Adding mem_stats build modifier. 2014-11-12 15:46:15 +03:00
Ruben Ayrapetyan
c0a6ae3eff - Smaller but not precise conversion between strings and numbers under
CONFIG_ECMA_NUMBER_TYPE==CONFIG_ECMA_NUMBER_FLOAT32 (float32 mode);
- float64 mode by default if not CompactProfile-mode;
- CompactProfile-mode for MCU builds.
2014-10-31 20:44:27 +03:00
Ruben Ayrapetyan
05cf2dbe04 Providing cp_minimal build mode.
In the mode built-in objects except Global, Object, Object.prototype, Function,
Function.prototype, [[ThrowTypeError]] and CompactProfileError are disabled.

Making default builds (without cp cp_minimal modes set) to not define CONFIG_ECMA_COMPACT_PROFILE.
Removing some tests that depend on 'eval'-like functionality or CompactProfileError built-in from pre-commit testing.
2014-10-31 18:37:55 +03:00
Ruben Ayrapetyan
e4629cca51 Improving precision of number to zt-string conversion, adding search for the shortest representation of number during the conversion. 2014-10-24 19:15:31 +04:00
Ruben Ayrapetyan
81ae0010ac Introducing float64 mod for host build targets that configures ecma-number to be float64 instead of default float32. 2014-10-23 19:27:43 +04:00
Ruben Ayrapetyan
e4a7d1c8ac Introducing nostaticcheck=1 build option for disabling cppcheck and vera++ checks during the build. 2014-10-23 16:55:59 +04:00
Ilmir Usmanov
62a42fa087 Add fail tests. Fix parser. 2014-10-21 20:35:07 +04:00
Ruben Ayrapetyan
ae048a7630 Running internal test suite during precommit testing. 2014-10-20 21:45:21 +04:00
Ruben Ayrapetyan
8e1156bd9e Support of STM32F3 board. 2014-10-17 21:48:09 +04:00
Ruben Ayrapetyan
9c3c835a7e Implementing syscall invocation sequence for ARMv7 architecture.
Removing dependencies to third-party libc routine implementations.
Introducing __TARGET_HOST define for host (non-MCU) builds.
2014-10-16 18:39:56 +04:00
Ilmir Usmanov
948c74b4b9 Os by default. 2014-10-14 22:06:04 +04:00
Ilmir Usmanov
9be0a85c1c Fix 'while' bytecode generation 2014-10-14 16:55:09 +04:00
Ruben Ayrapetyan
78367993db Replacing -O3 optimization option with -Os. 2014-10-14 15:13:16 +04:00
Ilmir Usmanov
8a5b956e38 Simplify serializer/deserializer. Reduce memory usage in lexer. Create HashTable data structure. Finish preparations for introducing new strings addressation. 2014-09-23 16:45:10 +04:00
Ruben Ayrapetyan
11cf22f06c Introducing 'ecmabuiltins' component and interface for instantiating built-in properties. 2014-09-17 21:12:05 +04:00
Ruben Ayrapetyan
70d76efc98 Adding cppcheck utility to repository. 2014-09-17 15:50:55 +04:00
Ruben Ayrapetyan
6f23dd879d Increasing test timeout for valgrind runs. 2014-09-17 12:56:16 +04:00
Ilmir Usmanov
e77bd4f4e5 Add try-catch-finally support: parse and generate opcodes for this construct
Fix varg generation: generate *_n opcodes with parameters in following meta opcodes
Add stack internal structure: dimanically allocated stack.
Use dynamically allocated memory in parser: every local and global variables are stored in dinamically allocated stacks.
Use dynamically allocated memory in serializer: opcodes are also stored in stack.
Change is_true_jmp and is_false_jmp opcodes to relative.
Change *jmp* opcodes to be able to store opcode_counter_t instead of idx_t.
2014-09-16 21:32:59 +04:00
Ruben Ayrapetyan
f266b84016 Adding configuration header file for engine's parameters/limitations 2014-08-22 18:29:39 +04:00
Ruben Ayrapetyan
2851c59d97 Add noopt=1 option to override OPTION_OPTIMIZE to disable. 2014-08-21 17:48:26 +04:00
Ruben Ayrapetyan
902f8c3414 Reducing build time: make debug.linux 8.778s -> 6.426s; make unittests: 32.230s -> 9.259s. 2014-08-21 17:28:14 +04:00
Ruben Ayrapetyan
5095bd31c9 Ecma-number decoding helpers 2014-08-20 19:20:03 +04:00
Ruben Ayrapetyan
d5f50ebd04 Add dbgsyms=1 option to override OPTION_DEBUG_SYMS to enable, OPTION_STRIP to disable. 2014-08-19 19:17:03 +04:00
e.gavrin
0fb8076d2a fix formatting issues in src/*. Ignore #define.. in jerry_funcname_space_parentheses.tcl 2014-08-19 15:03:05 +04:00
Ruben Ayrapetyan
0cd5fbfd81 Adding src/main.c to cppcheck and vera++ source list. 2014-08-14 17:55:46 +04:00
Ruben Ayrapetyan
6553daa22b Limiting data and stack size by setrlimit. 2014-08-14 16:08:06 +04:00
Ruben Ayrapetyan
bd280df9bf Making vera++ to stop compilation on style errors. 2014-08-13 16:50:44 +04:00
Ruben Ayrapetyan
701f03309a Replacing -O2 with -O3. ./benchmarks/jerry/loop_arithmetics_1kk.js: 2.97 -> 2.79. 2014-08-12 12:28:37 +04:00
Ruben Ayrapetyan
6564cbee76 Indentation checking rule for vera++. 2014-08-11 18:37:43 +04:00
Ruben Ayrapetyan
8e87c8d3ed Temporarily disabling error mode of vera++ style checker. 2014-08-11 14:55:02 +04:00
e.gavrin
18a3f7f64e Remove check gnu style 2014-08-11 12:54:13 +04:00
e.gavrin
4b651ab427 fix formatting in rc/libruntime/target/linux/jerry-libc.c 2014-08-11 11:33:42 +04:00
e.gavrin
3a388b07a1 Add several checking rules. Add some fixes. Force vera++ to produce error 2014-08-09 00:41:24 +04:00
e.gavrin
49a809d56f Add optional vera++ support. Add several rules. Fixes for vera compatibility - new lines at EOF 2014-08-08 22:40:17 +04:00
Ruben Ayrapetyan
f76795db8c Replacing -Os wth -O2. 2014-08-08 12:42:19 +04:00
Ruben Ayrapetyan
5788ce1199 Fixing OPTION_OPTIMIZE setup in Makefile. 2014-08-08 12:41:56 +04:00
Ruben Ayrapetyan
e3cd8ee942 Generational mark and sweep GC. 2014-08-07 14:54:32 +04:00
Ruben Ayrapetyan
084ca2325c Implementing __printf. Setting libc_raw as default libc. Removing LIBC_STD mode. 2014-08-06 15:00:33 +04:00
Ruben Ayrapetyan
440a3c64a2 Handling git push non-zero exit code in tools/push.sh. 2014-08-06 14:51:37 +04:00
Ruben Ayrapetyan
304098a984 Introducing make target for precommit testing: 'make precommit' that also supports parallel run: 'make -j precommit'. Introducing set of modifiers for linux target: libc_raw, musl, sanitize, valgrind. For example: 'make debug.linux-libc_raw-sanitize' or 'make release.linux-valgrind'. Removing corresponding flags. 2014-08-04 22:02:48 +04:00
Ruben Ayrapetyan
feba25f055 Supporting ASAN with LIBC_RAW. 2014-08-04 18:43:46 +04:00
Ilmir Usmanov
97dc322085 Fix assertions in parser 2014-08-04 17:50:08 +04:00
Ilmir Usmanov
084ed7aee4 Add --suppress=sizeofwithnumericparameter param to cppcheck 2014-08-04 17:22:32 +04:00
Ruben Ayrapetyan
09136e3e38 Moving cppcheck run from check targets to corresponding build targets; setting cppcheck's error exit code to 1. 2014-08-04 16:59:45 +04:00
Ruben Ayrapetyan
fa87696275 Revert "Fixes: JERRY_NVALGRIND effect was inverted; also a block was marked as inaccessible too early."
This reverts commit 53c0da4307b1407f506ff71b0e014eefe00da985.
2014-08-01 18:29:55 +04:00