Ruben Ayrapetyan
d627307010
Adding valgrind memory annotations for pool allocator.
2015-02-04 17:32:39 +03:00
Ruben Ayrapetyan
be4567860c
Turning on Wmissing-declaration warnings.
2015-02-04 15:31:43 +03:00
Ruben Ayrapetyan
34bff56d8a
Removing pre-initialization of object container with zero.
2015-02-04 15:13:22 +03:00
Ruben Ayrapetyan
c12659ba51
Introducing managed pointer class ecma_pointer_t, using it to store pointer in ecma_value_t.
2015-02-03 18:25:38 +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
3cb0b0a379
Revert "Introducing managed pointers classes (ecma_generic_ptr_t, ecma_pointer_t<T>); using ecma_generic_ptr_t to store pointer in ecma_value_t."
...
This reverts commit f88c0d665b4ff7e2add495bc2980adf7a1622f31.
2015-02-03 16:50:21 +03:00
Ruben Ayrapetyan
b0e4d2ece1
Introducing managed pointers classes (ecma_generic_ptr_t, ecma_pointer_t<T>); using ecma_generic_ptr_t to store pointer in ecma_value_t.
2015-02-03 15:11:44 +03:00
Ruben Ayrapetyan
55caaf7a88
Storing values in ecma_value_t in unpacked form (type + simple value / pointer to the heap).
2015-02-03 14:52:37 +03:00
Ruben Ayrapetyan
f37a5085f6
Converting ecma_completion_value_t to class derived from ecma_value_t with additional field with for completion type and related operations.
...
Completion value are now returned through ecma_completion_value_t &ret_value argument.
2015-01-30 23:16:45 +03:00
Ruben Ayrapetyan
a1f95048ae
Removing label completion values.
2015-01-30 23:00:42 +03:00
Ruben Ayrapetyan
00afd4e0e2
Converting ecma_value_t to class that is used for on-stack storage of ecma-values.
...
Original ecma_value_t is renamed to ecma_value_packed_t and is used for on-heap storage.
Copy and move constructors, move assignment operator of ecma_value_t are not created.
New ecma-value return convention is introduced: ecma-values are now returned through ecma_value_t &ret_val argument.
2015-01-30 22:53:06 +03:00
Ruben Ayrapetyan
4cd7f96acc
Suppressing 'member variable is not assigned in operator =' cppcheck warning, because of false positives.
2015-01-29 14:40:31 +03:00
Ruben Ayrapetyan
94cb1c0e67
Changing jerry_ref_unused_variables signature to take values by const reference.
2015-01-28 19:58:20 +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
0f487a0bb7
Returning ecma_value_t instead of ecma_completion_value_t from ECMA_TRY_CATCH for case when completion value is normal.
2015-01-27 22:07:26 +03:00
Ruben Ayrapetyan
f231b9a0d2
Moving ecma_reference_t declaration to ecma-reference.h.
2015-01-27 17:18:53 +03:00
Ruben Ayrapetyan
d1925ab882
Using static_cast instead of C-style cast in MEM_DEFINE_LOCAL_ARRAY.
2015-01-27 15:40:46 +03:00
Ruben Ayrapetyan
57f645c18c
Passing ecma_value_t arguments by const reference instead of by value.
2015-01-23 20:22:21 +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
557df54f9d
Registering temporary variables arrays in ecma-stack frames, starting mark traverse from them during GC.
2015-01-15 18:45:37 +03:00
Ruben Ayrapetyan
eef966869a
Revert "Switching get_variable_value to returning value through ecma-stack (stack convention)."
...
This reverts commit 6415130925187a877b83b14db40cade0c336ea44.
2015-01-15 17:26:08 +03:00
Ruben Ayrapetyan
e570d18936
Switching get_variable_value to returning value through ecma-stack (stack convention).
2015-01-14 20:09:24 +03:00
Ruben Ayrapetyan
e70626f92d
Removing free of throw completion value in ECMA_TRY_CATCH macro, instead just copying it to the return value variable.
2015-01-14 18:14:28 +03:00
Ruben Ayrapetyan
917ebe4a83
Creating ecma-stack frames in run_int_from_pos.
2015-01-12 20:52:04 +03:00
Ruben Ayrapetyan
b843167b91
Introducing ecma-stack structures and routines.
2015-01-12 19:33:04 +03:00
Ruben Ayrapetyan
d03b2dafba
Upon receiving 'give some memory back' request check if any corresponding callback set instead of asserting that.
2015-01-12 19:07:35 +03:00
Ruben Ayrapetyan
f96770a811
Adding '-min' option to tools/perf.sh: the option switches to output of minimum instead of average of performance measurements.
2014-12-19 21:37:26 +03:00
Ruben Ayrapetyan
42c44830ce
Removing trailing whitespace from sources.
2014-12-19 14:35:17 +03:00
Ruben Ayrapetyan
6bb39bb8ea
Introducing 'try to give memory back' callback for heap allocator to use upon allocation request that can not be satisfied by the allocator.
2014-12-18 22:25:22 +03:00
Ruben Ayrapetyan
8febd2bae8
Increasing heap size from 8K to 16K for MCU targets.
2014-12-18 17:17:08 +03:00
Ruben Ayrapetyan
5539afc60e
Adding #pragma GCC optimize "O0" to libperipherals' modules.
2014-12-18 17:16:33 +03:00
Ruben Ayrapetyan
5c4c47514a
Fixing new line marks output in tools/generator.sh.
2014-12-18 16:14:31 +03:00
Ruben Ayrapetyan
84294018a3
Replacing dynamically sized on-stack arrays with heap allocated arrays defined through MEM_DEFINE_LOCAL_ARRAY.
2014-12-18 13:56:45 +03:00
Ruben Ayrapetyan
1e0eea3d73
Returning NULL from mem_heap_alloc_block if requested block size is zero.
2014-12-18 13:26:42 +03:00
Ruben Ayrapetyan
9b1fff1d8b
Introducing MEM_DEFINE_LOCAL_ARRAY and MEM_FINALIZE_LOCAL_ARRAY to replace on-stack allocation of dynamic sized arrays.
2014-12-17 22:18:32 +03:00
Ruben Ayrapetyan
005fcb008e
Changing dynamic sized (syntactically) array to constant-sized array in ecma_op_general_object_default_value.
2014-12-17 22:14:33 +03:00
Ruben Ayrapetyan
14620e30a6
Defining constant limit on magic string length instead of runtime calculation of maximum among magic strings' lengths.
2014-12-17 22:14:04 +03:00
Ruben Ayrapetyan
c9b73da82d
Changing dynamic sized (syntactically) array to constant-sized array in ecma_gc_run.
2014-12-17 21:29:45 +03:00
Ruben Ayrapetyan
001f262590
Limiting maximum command line arguments by CONFIG_JERRY_MAX_COMMAND_LINE_ARGS configuration option.
2014-12-17 21:29:17 +03:00
Ruben Ayrapetyan
dd3271e35d
Changing uint8_t* to void* in arguments and return values of mem_heap_alloc_block, mem_heap_free_block and mem_heap_try_resize_block operations.
2014-12-17 21:27:02 +03:00
Ruben Ayrapetyan
8349ad8ecf
Inter-commit performance comparison script.
2014-12-17 19:16:16 +03:00
Ruben Ayrapetyan
d836dc32af
Introducing ECMA_OP_TO_NUMBER_TRY_CATCH and ECMA_OP_TO_NUMBER_FINALIZE macroses.
...
- the ECMA_OP_TO_NUMBER_TRY_CATCH macro gets number from given value,
converting the value to number if it's type is different,
and catching possible conversion exceptions;
- using the macroses instead of ecma_op_to_number to reduce allocator invocations
in several routines with arguments that are likely to be numbers.
2014-12-15 23:08:34 +03:00
Ruben Ayrapetyan
386a530d4d
Upon assignment of a number to a register variable reusing the variable's space if it already contains a number.
2014-12-15 23:08:34 +03:00
Ruben Ayrapetyan
eb80e817d8
Removing trailing whitespace in src/libcoreint/opcodes.c.
2014-12-15 23:08:34 +03:00
Ilmir Usmanov
7e7bdc2aac
Rework literal indexes hash table to simple array in order to improve performance
2014-12-15 22:56:22 +03:00
Ilmir Usmanov
864bd3de06
Fix comment.
2014-12-15 22:47:41 +03:00
Ilmir Usmanov
ddac13f944
Fix parsing of empty file
2014-12-15 17:10:04 +03:00
Ilmir Usmanov
c1ebb8db50
Fix expression statement parsing in case of statement starts with keyword
2014-12-12 16:36:18 +03:00
Ilmir Usmanov
6aee69d6df
Fix native_call opcode dumping
2014-12-12 16:34:59 +03:00