Commit Graph

102 Commits

Author SHA1 Message Date
Ruben Ayrapetyan c72555d25f Introducing new type of ecma-string: concatenation of two ecma-strings (comparison is not implemented). loop_arithmetics_1kk.js: 2.8968 -> 2.8464. 2014-08-26 11:11:20 +04:00
Ruben Ayrapetyan d0963f6d3d Fixing deref and comparison for uint32-represented ecma-strings. loop_arithmetics_1kk.js: 2.8448 -> 2.9056. 2014-08-26 11:06:06 +04:00
Ruben Ayrapetyan 2194f80d71 Revert "Fixing deref and comparison for uint32-represented ecma-strings."
This reverts commit c3adae65625c4fcf25049a3a67e1f1862b443c35.
2014-08-26 11:05:19 +04:00
Ruben Ayrapetyan 6ca0942b74 Fixing deref and comparison for uint32-represented ecma-strings. 2014-08-26 10:26:47 +04:00
Ruben Ayrapetyan aeb363075b Adding const qualifier to ecma_string_t* in ecma-string comparison and property search routines. 2014-08-25 20:28:26 +04:00
Ruben Ayrapetyan ebfacc82d3 Removing is_length_valid from ecma-string descriptor. 2014-08-25 20:11:24 +04:00
Ruben Ayrapetyan 8998189bc0 Storing Number as UInt32 in ecma-string if the Number may be represented as UInt32. Calculating length for Number-represented ecma-strings in ecma-string constructor. loop_arithmetics_1kk.js: 2.9112 -> 2.8536. 2014-08-25 20:03:33 +04:00
Ruben Ayrapetyan 6801f22bd9 Introducing ECMA_FUNCTION_CALL helper macro for handling return completion values of function calls. 2014-08-22 20:26:23 +04:00
Ruben Ayrapetyan 077392e5c5 Fixing ecma_compare_zt_string_to_zt_string 2014-08-22 18:44:54 +04:00
Ruben Ayrapetyan f266b84016 Adding configuration header file for engine's parameters/limitations 2014-08-22 18:29:39 +04:00
Ruben Ayrapetyan dca9bcc387 Removing ECMA_TYPE__COUNT enum value; fixing comment to ecma_copy_value 2014-08-22 17:50:57 +04:00
e.gavrin 7dea812364 Add shift opcodes handlers 2014-08-21 21:39:05 +04:00
Ruben Ayrapetyan 7d38fee700 Implementing comparison of ecma-strings for different types of string containers. 2014-08-21 19:54:11 +04:00
Ruben Ayrapetyan 616c96d3bb Implementing ecma_string_to_zt_string for number-represented string and strings that are stored in literal table 2014-08-21 16:46:45 +04:00
Ruben Ayrapetyan a96705701d Implementing prototype of ToString (Number) routine - ecma_number_to_zt_string; adding unit tests for the routine. 2014-08-21 14:43:43 +04:00
Ruben Ayrapetyan 5095bd31c9 Ecma-number decoding helpers 2014-08-20 19:20:03 +04:00
Ruben Ayrapetyan fe34bf7e01 Fixing: deallocation of number-represented ecma-string; [[Get]] of Arguments object for index arguments. 2014-08-20 13:47:51 +04:00
Ruben Ayrapetyan 50554a81e4 Implementing Arguments object construction, [[Get]], [[GetOwnProperty]], [[DefineOwnProperty]], [[Delete]] routines. 2014-08-19 19:17:03 +04:00
Ilmir Usmanov a2fe594d0f Merge branch 'geppetto' 2014-08-19 16:22:39 +04:00
Ilmir Usmanov 126b8814a8 Add rules to check switch-cases 2014-08-19 16:22:05 +04:00
Ruben Ayrapetyan 9d33a91822 Storing literals' indexes instead of literals' contents in ecma-strings if possible. 2014-08-18 20:52:02 +04:00
Ruben Ayrapetyan 8bc41358ec Replacing const ecma_char_t* with ecma_string_t*; supporting number-represented string in ecma_string_t. 2014-08-18 18:34:34 +04:00
Ruben Ayrapetyan 15b65a27fb Moving type conversion helpers from libecmaoperations to libecmaobjects. 2014-08-18 16:26:22 +04:00
Ruben Ayrapetyan bcddffbefb Preparations to lazy conversion of Number to String: introducing ECMA_STRING_CONTAINER_HEAP_NUMBER container type for ecma_string_t. 2014-08-18 16:10:54 +04:00
Ruben Ayrapetyan 21a84afc4f Adding ecma_is_property_enumerable, ecma_is_property_configurable helpers. 2014-08-15 17:22:29 +04:00
Ruben Ayrapetyan 8f08c1c70e Fixing collections' construction and iteration routines. 2014-08-15 17:21:21 +04:00
Ruben Ayrapetyan 2a199cc6a7 Iterators for ecma-values collections 2014-08-15 15:58:34 +04:00
Ruben Ayrapetyan f638c381a3 Introducing ecma-values collection. Implementing ecma-strings collection through ecma-values collection. 2014-08-14 21:19:56 +04:00
Ruben Ayrapetyan 63133c247f Initializing [[FormalParameters]] internal property of Function object in ecma_op_create_function_object. 2014-08-13 21:47:56 +04:00
Ruben Ayrapetyan daf1cfc9e6 Introducing helpers for construction and freeing of ecma-strings' collections. 2014-08-13 21:36:36 +04:00
Ruben Ayrapetyan 507b91973a Renaming ecma_array_first_chunk_t -> ecma_collection_header_t; ecma_array_non_first_chunk_t -> ecma_collection_chunk_t. 2014-08-13 20:58:17 +04:00
Ruben Ayrapetyan 613c43cc14 Fixing internal properties handling in ecma_gc_mark. 2014-08-13 20:18:41 +04:00
Ruben Ayrapetyan c831912ae5 Replacing ecma_array_first_chunk_t with ecma_string_t for ecma-strings. 2014-08-13 19:21:25 +04:00
Ruben Ayrapetyan b66981d19f Introducing ecma_string_t type that will be used for ecma-strings instead of ecma_array_first_chunk_t. 2014-08-13 17:01:05 +04:00
Ruben Ayrapetyan 567d54f7e5 Move ecma-string helpers from ecma-helpers.c to ecma-helpers-string.c 2014-08-13 17:01:05 +04:00
Ruben Ayrapetyan 4fe85cdd1a Full implementation of [[DefineOwnProperty]] for array objects. 2014-08-13 14:55:40 +04:00
Ruben Ayrapetyan 3ae7a284dc Partially implementing [[DefineOwnProperty]] for Array objects. 2014-08-12 21:45:11 +04:00
Ruben Ayrapetyan eee1daec91 Introducing ecma_compare_zt_string_to_zt_string interface that is __strcmp for ecma_char_t* zero-terminated strings. 2014-08-12 18:51:49 +04:00
Ruben Ayrapetyan 8bde4ecbf2 Implementing ecma_compare_ecma_string_to_ecma_string helper. 2014-08-12 16:56:35 +04:00
Ruben Ayrapetyan aa43e06366 Style fixes in liballocator, libecmaobjects, libecmaoperations: putting else on separate line after closing brace of 'if' block. 2014-08-12 13:53:34 +04:00
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 48cff24f08 Styles fixes in libecmaobjects, libecmaoperations: indentation and braces rules. 2014-08-11 22:05:59 +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 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 8ce1ef3c8b Removing trailing whitespace in liballocator, libecmaobjects and libecmaoperations. 2014-08-11 15:59:19 +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 7ad6c25bb2 Fix invocation of GC for non-zero generations. 2014-08-07 21:10:36 +04:00