114 Commits

Author SHA1 Message Date
Ruben Ayrapetyan
e35f54fe86 Implementing ECMA String to Number conversion helper. 2014-08-29 22:46:38 +04:00
Ruben Ayrapetyan
23b62bce54 Replacing doxygen header for ECMA modules 'addtogroup ecma ---TODO---' -> 'addtogroup ecma ECMA'. 2014-08-29 18:35:44 +04:00
Ruben Ayrapetyan
32f20a02a3 Adding missing may_ref_younger flags updates and assertion check for the flags value. 2014-08-29 18:06:20 +04:00
Ruben Ayrapetyan
1d02085dc6 Packing ecma_object_t to 8 bytes. 2014-08-29 17:38:05 +04:00
Ruben Ayrapetyan
8e14f32806 Introducing getters/setters for ecma_object_t structure. 2014-08-29 15:53:07 +04:00
Ruben Ayrapetyan
f7968e617d Adding several completion value construction and comparison helpers. 2014-08-29 12:51:06 +04:00
Ruben Ayrapetyan
164350b369 Introducing constructor for label completion values (for 'break' and 'continue' completion types). 2014-08-28 23:08:31 +04:00
Ruben Ayrapetyan
227c09fb3e Adding target counter and depth level to 'break' and 'continue' completion values. 2014-08-28 22:56:29 +04:00
Ruben Ayrapetyan
16cbe0c63b Removing try_get_string_by_idx and get_number_by_idx. 2014-08-28 21:19:44 +04:00
Ruben Ayrapetyan
5d2b535cec Implementing 'with' opcode; replacing 'end_with' opcode with 'meta' opcode of corresponding type. 2014-08-27 21:38:53 +04:00
Ruben Ayrapetyan
d286a93e2c Replacing 'varg' opcode with 'meta' opcode with corresponding type. 2014-08-27 19:35:56 +04:00
Ruben Ayrapetyan
6cfcedb053 Evaluation of expressions passed in arguments lists just before corresponding 'varg' opcodes. 2014-08-26 21:39:54 +04:00
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