Commit Graph

68 Commits

Author SHA1 Message Date
Ruben Ayrapetyan f3ff78b81b Refinement of tools directory. 2015-02-10 20:21:01 +03:00
Ruben Ayrapetyan b7e374fedc Switching to CMake for build. 2015-02-09 20:56:01 +03:00
Ruben Ayrapetyan fa6402334f Renaming sources *.c -> *.cpp. 2015-02-09 18:21:44 +03:00
Ruben Ayrapetyan 5a2d6f4308 Replacing JERRY_NVALGRIND with the opposite JERRY_VALGRIND. 2015-02-05 17:58:55 +03:00
Ruben Ayrapetyan e3f081ee84 Forbidding implicit template instantiation. 2015-02-04 17:33:24 +03:00
Ruben Ayrapetyan be4567860c Turning on Wmissing-declaration warnings. 2015-02-04 15:31:43 +03:00
Ruben Ayrapetyan 9cdc50c3ec Disabling Wattributes warnings (because always_inline is considered incorrect without inline specifier even in LTO mode); removing used attribute from always_inline functions; removing inline specifier from ecma_lcache_lookup and ecma_stack_top_value. 2015-02-03 18:05:17 +03:00
Ruben Ayrapetyan 8b31156b5a Forbidding use of rbp for register allocation on x86-64 platform.
It is necessary because of bug in gcc / g++:
 Pointers allocated on rbp can be (are?) supposed to be aligned indepedently of what they actually contain.

Turning off allocation on rbp is not critical for now, because, currently, x86-64 is just development platform.
2015-01-28 17:43:04 +03:00
Ruben Ayrapetyan 11e37ad7f3 Switching cppcheck to c++11-compatible mode. 2015-01-22 18:07:56 +03:00
Ruben Ayrapetyan 005b5370fc Switching to g++ and corresponding changes according to C++ requirements. 2015-01-16 17:27:02 +03:00
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