Commit Graph
100 Commits
Author SHA1 Message Date
Ruben Ayrapetyan 839ad7e4b4 Fixing cppcheck warning about comma in return statement (libecmaobjects/ecma-helpers-value.c). 2014-08-11 22:17:35 +04:00
Ruben Ayrapetyan 1b84ca8412 Style fix: indentation in src/libecmaoperations/ecma-objects-properties.c. 2014-08-11 22:10:55 +04:00
Ruben Ayrapetyan 48cff24f08 Styles fixes in libecmaobjects, libecmaoperations: indentation and braces rules. 2014-08-11 22:05:59 +04:00
Ruben Ayrapetyan 38c6c2357d Styles fixes in liballocator: indentation and braces rules. 2014-08-11 21:10:06 +04:00
Ruben Ayrapetyan 59940fb648 Style fixes in liballocator, libecmaobjects, libecmaoperations: now lines are not longer than 120 characters. 2014-08-11 19:51:40 +04:00
Ruben Ayrapetyan 0b592470d5 Style fixes in libecmaoperations: space between function name and opening parenthesis, no space after opening parenthesis/before closing parenthesis. By mistake, the changes weren't commited with 8081e5cdb38ad0f9789a89c92362fc73a716d85c. 2014-08-11 19:34:49 +04:00
Ruben Ayrapetyan b02eefd4ae Style fixes in liballocator, libecmaobjects, libecmaoperations: space between function name and opening parenthesis, no space after opening parenthesis/before closing parenthesis. 2014-08-11 19:28:14 +04:00
Ruben Ayrapetyan e53be2b441 Renaming ecma_get_pointer, ecma_set_pointer, ecma_set_pointer_non_null macroses to uppercase names. 2014-08-11 19:13:59 +04:00
Ruben Ayrapetyan 6564cbee76 Indentation checking rule for vera++. 2014-08-11 18:37:43 +04:00
Ruben Ayrapetyan 8ce1ef3c8b Removing trailing whitespace in liballocator, libecmaobjects and libecmaoperations. 2014-08-11 15:59:19 +04:00
Ruben Ayrapetyan 8e87c8d3ed Temporarily disabling error mode of vera++ style checker. 2014-08-11 14:55:02 +04:00
Ruben Ayrapetyan 4fb0080701 Adding test nested_function.js. 2014-08-08 23:20:34 +04:00
Ruben Ayrapetyan 7b04e9eaeb Compacting pool header to 8 bytes. Replaced typed pool chunks with fixed-size untyped ones. loop_arithmetics_1kk.js benchmark: 2.98517 -> 2.9443. 2014-08-08 23:11:06 +04:00
Ruben Ayrapetyan cd0246bedc Changing size of ecma-array's chunk to fixed 8 bytes. 2014-08-08 18:23:02 +04:00
Ruben Ayrapetyan 1ab3eaa389 Optimizing ecma_get_pointer/ecma_set_pointer, introducing ecma_set_non_null_pointer. loop_arithmetics_1kk.js benchmark: 3.450 -> 3.025. 2014-08-08 15:22:05 +04:00
Ruben Ayrapetyan 0194e63331 Removing pool bitmaps; optimizing search for free pool chunks. loop_arithmetics_1kk.js benchmark: 4.134s -> 3.479s. 2014-08-08 14:26:28 +04:00
Ruben Ayrapetyan b6d9ed42ec Adding test_stability.sh to pre-commit testing. 2014-08-08 14:19:38 +04:00
Ruben Ayrapetyan c688f27f62 Adding memmove (for compiler usage). 2014-08-08 12:42:57 +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 7ad6c25bb2 Fix invocation of GC for non-zero generations. 2014-08-07 21:10:36 +04:00
Ruben Ayrapetyan d7e28e3a28 Fixing memory leak in mem_pools_alloc. 2014-08-07 21:08:31 +04:00
Ruben Ayrapetyan 2887332573 Fixing valgrind annotations in mem_heap_alloc_block for path added in ae189c6107f943f5273f9b2fce14ad17a396636c. 2014-08-07 21:08:07 +04:00
Ruben Ayrapetyan cc4d55803c Fix func_decl_0: correctly set interpreter's opcode counter. 2014-08-07 19:35:11 +04:00
Ruben Ayrapetyan 99c15ef802 Implementing object model, memory allocators finalization routines. Adding assertion that all memory was freed before exit. 2014-08-07 19:24:32 +04:00
Ruben Ayrapetyan 5e1c4b533f Fix ecma_copy_ecma_string_chars_to_buffer. 2014-08-07 18:36:05 +04:00
Ruben Ayrapetyan 6d7c2120ef Fix ecma_gc_mark routine: checking properties, located immediately in an object descriptor. 2014-08-07 18:28:46 +04:00
Ruben Ayrapetyan 93c7b813cf Fixing heap's block allocation routine. Adding related checks to mem_check_heap. 2014-08-07 18:26:26 +04:00
Ruben Ayrapetyan e3cd8ee942 Generational mark and sweep GC. 2014-08-07 14:54:32 +04:00
Ruben Ayrapetyan 4ff5042abc Enabling full testing mode during pre-commit. 2014-08-06 15:54:37 +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 6c01782e91 Hiding *.check targets. Enablings pre-commit parse-only tests from ./benchmarks/jerry except cse.js and chess.js. Making tests named beginning from N to be skipped in jerry_test.sh. Renaming cse.js and chess.js to N.cse.js, N.chess.js. 2014-08-06 13:49:51 +04:00
Ruben Ayrapetyan 137ace24db Handling return value of run_int by setting exit code. 2014-08-06 13:06:55 +04:00
Ruben Ayrapetyan 411791ea32 Fix: remove unnecessary ecma_ref_object. 2014-08-05 17:59:20 +04:00
Ruben Ayrapetyan cd0c7ab9a0 Fixing make push output. 2014-08-05 16:02:07 +04:00
Ruben Ayrapetyan 4a3195cbba Adding *.swp to .gitignore. 2014-08-05 15:58:14 +04:00
Ruben Ayrapetyan e4ce585823 Implementing 'nop' opcode handler. 2014-08-05 15:53:17 +04:00
Ruben Ayrapetyan adfa6d3576 Adding -s (silent) flag to make command line in tools/push.sh. 2014-08-05 15:37:16 +04:00
Ruben Ayrapetyan 9f56d42ceb Adding push target. Handling empty commit list by early exit. Successful push message coloring. 2014-08-05 15:24:37 +04:00
Ruben Ayrapetyan 447d0295eb Adding tools/push.sh that runs precommit testing for every commit prepared for pushing, pushes the whole commit pack upon successful pass of all test runs. 2014-08-05 14:17:25 +04:00
Ruben Ayrapetyan eb233804d7 Removing git status checking from 'make precommit'. 2014-08-05 13:55:59 +04:00
Ruben Ayrapetyan 78a782b791 Fixing text of message in precommit script. 2014-08-05 12:50:58 +04:00
Ruben Ayrapetyan 0f8798aa1f Removing '.SILENT' special target. 2014-08-05 12:49:46 +04:00
Ruben Ayrapetyan c5930c8775 Adding new line after 'OK to push' message. 2014-08-04 22:14:26 +04:00
Ruben Ayrapetyan 8c2e5b1f7a Fixing command that excludes 'out' directory from list outputted by git status for checking if Git status of directory is clean. 2014-08-04 22:10:42 +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 1834887a93 Fixing conflicting types for serializer_rewrite_opcode function. 2014-08-04 18:58:16 +04:00
Ruben Ayrapetyan feba25f055 Supporting ASAN with LIBC_RAW. 2014-08-04 18:43:46 +04:00
Ruben Ayrapetyan ac35a4ebf2 Fixing cppcheck warnings in mem-heap.c (appeared when valgrind=1) and in jerry-libc.c (appeared libc_raw=1). 2014-08-04 18:42:40 +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 a16c1a0597 Reducing scope of 'data' variable in deserialize_num_by_id. 2014-08-04 16:57:28 +04:00
Ruben Ayrapetyan 0025827eac Fixes: JERRY_NVALGRIND effect was inverted; also a block was marked as inaccessible too early. 2014-08-01 18:30:24 +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
Ruben Ayrapetyan a6feea1068 Fixes: JERRY_NVALGRIND effect was inverted; also a block was marked as inaccessible too early. 2014-08-01 18:28:18 +04:00
Ruben Ayrapetyan e1c57dc231 Adding valgrind's memcheck support in mem-heap. Adding valgrind's headers valgrind.h and memcheck.h to third-party/valgrind directory. 2014-08-01 18:22:34 +04:00
Ruben Ayrapetyan 61dd7a5dd9 nostdlib under libc_raw=1 option. 2014-08-01 15:49:27 +04:00
Ruben Ayrapetyan f4a4c91a98 Fixing read_sources: buffer and buffer_size were filled incorrectly. 2014-08-01 14:37:23 +04:00
Ruben Ayrapetyan 8260cc0214 Implementing case 3.b in PutValue operation. 2014-08-01 12:48:03 +04:00
Ruben Ayrapetyan 779fe64161 Introducing ERR_SYSCALL that should be used on failures during syscalls execution. 2014-07-31 22:31:47 +04:00
Ruben Ayrapetyan 5c72a30228 Adding ./src/libruntime/target/linux/asm_{x86,x64}.h for architecture specific assembler blocks. 2014-07-31 22:26:01 +04:00
Ruben Ayrapetyan 020325d199 __HOST -> __TARGET_HOST_X64 2014-07-31 22:23:05 +04:00
Ruben Ayrapetyan f177633622 Decreasing array chunk size to 8 bytes. 2014-07-31 17:53:43 +04:00
Ruben Ayrapetyan 4d7f14d059 Fixing ecma_compare_zt_string_to_ecma_string routine. 2014-07-31 17:52:10 +04:00
Ruben Ayrapetyan 9fd708eabe Revert "Fixing ecma_compare_zt_string_to_ecma_string routine."
This reverts commit c6e955aa2b231076b3ec70c55b38084afb4d01d2.
2014-07-31 17:51:40 +04:00
Ruben Ayrapetyan d327bf5682 Fixing ecma_compare_zt_string_to_ecma_string routine. 2014-07-31 17:49:16 +04:00
Ruben Ayrapetyan 2c85a55c85 Introducing Global Environment constructor; using Global Environment as starting lexical environment. 2014-07-31 17:21:47 +04:00
Ruben Ayrapetyan bfad8e897d Implementing ECMA-262 v5 10.2.1.2 operations (object environment record's CreateMutableBinding, SetMutableBinding, etc.). 2014-07-31 17:13:20 +04:00
Ruben Ayrapetyan f8ef3deaf3 Full implementation of general objects' [[DefineOwnProperty]]. 2014-07-31 17:07:21 +04:00
Ruben Ayrapetyan a084273286 Minor style fixes. 2014-07-31 17:05:51 +04:00
Ruben Ayrapetyan 9610680e3c Fix ecma_create_object_lex_env: increasing binding object's reference counter. 2014-07-31 14:56:22 +04:00
Ruben Ayrapetyan c364461b80 Splitting ecma_create_lexical_environment to ecma_create_decl_lex_env and ecma_create_object_lex_env. 2014-07-31 14:48:28 +04:00
Ruben Ayrapetyan 16cab18ae9 Introducing partially implemented Global object constructor. 2014-07-31 14:26:24 +04:00
Ruben Ayrapetyan e25e4d6cab Introducing constructor for ecma_property_descriptor_t. 2014-07-31 14:03:11 +04:00
Ruben Ayrapetyan b50e091b08 Renaming opcode_idx_t to opcode_counter_t. 2014-07-30 21:54:53 +04:00
Ruben Ayrapetyan 4ebf551525 Renaming interp_bytecode_idx to op_idx_t. 2014-07-30 21:52:17 +04:00
Ruben Ayrapetyan c344cc7422 Correct implementation of opfunc_call_0 that was commited in c8dc00f4558efeb4bc0c2cd5d21e778294cb0d3a. The comment to that revision is incorrect: it specifies that opfunc_func_decl_0 should be rewritten; it is mistake, really it was about opfunc_call_0. 2014-07-30 21:46:02 +04:00
Ruben Ayrapetyan e540590ddd Partial implementation of function call routine ([[Call]]). 2014-07-30 20:34:04 +04:00
Ruben Ayrapetyan 221fb47a77 Implementing steps 16 - 19 of 'Function object creation' routine; creating ecma_op_get_throw_type_error stub. 2014-07-30 18:27:48 +04:00
Ruben Ayrapetyan 45a3d52d70 Fixing [[DefineOwnProperty]]: correctly setting up value of data named property; correctly increasing reference counters of getter and setter. 2014-07-30 18:24:14 +04:00
Ruben Ayrapetyan df224408fc Introducing ecma_get_magic_string that returns pointer to requested magic string that is used in an ECMA routine. 2014-07-30 17:56:53 +04:00
Ruben Ayrapetyan b059212e32 Implementing IsCallable operation. 2014-07-30 17:48:28 +04:00
Ruben Ayrapetyan d4d446cd4f Temporary implementation of 'func_decl_0' opcode handler. Should be rewritten from scratch after 'Function object creation' routine is fully implemented. 2014-07-30 15:44:28 +04:00
Ruben Ayrapetyan ccb0701469 Removing 'ret' opcode from unimplemented opcodes' list. 2014-07-30 15:42:32 +04:00
Ruben Ayrapetyan fe54e4dfd8 Implementation of 'ret' opcode handler. 2014-07-30 15:41:47 +04:00
Ruben Ayrapetyan e6f0057456 Partial implementation of func_decl_0 opcode handler. 2014-07-30 15:40:41 +04:00
Ruben Ayrapetyan f05719d622 Partial implementation of ECMA Function object creation routine. 2014-07-30 15:36:21 +04:00
Ruben Ayrapetyan 7bca73b8be Removing build targets from 'all' because check targets call build targets themself. 2014-07-30 15:08:50 +04:00
Ruben Ayrapetyan 52495b2cc1 Generating version info without header file. 2014-07-30 15:08:02 +04:00
Ruben Ayrapetyan c1d0a4dd13 Introducing interp_bytecode_idx type for opcode indexes. 2014-07-30 14:34:31 +04:00
Ruben Ayrapetyan 0dd67e4799 Introducing ecma_object_class_t type that describes ecma-defined object classes (value of ECMA_INTERNAL_PROPERTY_CLASS internal property); adding outer lexical environment's reference counter increment in ecma_create_lexical_environment; updating ecma_create_object to support object type field (that is not connected with ecma-defined object class, but is internal implementation defined type of an object). 2014-07-30 14:24:01 +04:00
Ruben Ayrapetyan f8743a1375 Switching from 'echa_char_t*' to 'const ecma_char_t*' where appropriate. 2014-07-30 14:20:20 +04:00
Ruben Ayrapetyan 56daef38eb Fixing debug.stm32f4: uncommented memcpy and memset aliases, placed them under #ifndef LIBC_MUSL. 2014-07-30 13:57:40 +04:00
Ruben Ayrapetyan 8d387cd32f Introducing make parameters todo, fixme and echo: todo/fixme enable printing of todo/fixme pragma messages if set to 1 (that are disabled by default after this commit); echo enables compilation/linking command line echoing if set to 1. 2014-07-29 14:52:42 +04:00
Ruben Ayrapetyan 299c94ee85 Implementation of general objects' [[GetOwnProperty]], [[GetProperty]], [[CanPut]], [[HasProperty]], [[Delete]]; partial implementation of general objects' [[Get]], [[Put]], [[DefineOwnProperty]]. 2014-07-29 14:32:01 +04:00
Ruben Ayrapetyan 4cefa6950e Fix ecma_op_define_own_property argument list: the routine now takes property descriptor as an argument instead of property. 2014-07-28 21:57:27 +04:00
Ruben Ayrapetyan b073701da4 Introducing ECMA property descriptor (8.10) type and helpers for it: constructor and destructor. 2014-07-28 21:54:42 +04:00
Ruben Ayrapetyan 3ee0e8a8a5 Style fixes regarding 'empty' value: introducing ecma_is_empty_completion_value, reducing usage of the 'empty' value, listing possible usage cases of the 'empty' value in the comment to it's definition. 2014-07-28 21:21:31 +04:00
Ruben Ayrapetyan cae07c0832 Implementing stubs for ecma objects' common internal properties and methods (ECMA-262 v5, Table 8). 2014-07-28 18:16:05 +04:00
Ruben Ayrapetyan 7840a846e8 Fix: removing extra semi-colon after FIXME. 2014-07-28 15:46:12 +04:00