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
|
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
|
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
|
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 |
|
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
|
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
|
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
|
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
|
c831912ae5
|
Replacing ecma_array_first_chunk_t with ecma_string_t for ecma-strings.
|
2014-08-13 19:21:25 +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
|
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
|
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
|
e3cd8ee942
|
Generational mark and sweep GC.
|
2014-08-07 14:54:32 +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
|
e25e4d6cab
|
Introducing constructor for ecma_property_descriptor_t.
|
2014-07-31 14:03:11 +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
|
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
|
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
|
b7a3a13bc9
|
Implementing register variables.
|
2014-07-24 18:13:32 +04:00 |
|
Ruben Ayrapetyan
|
1796b9d903
|
Renaming rest camelCase-named identifiers according to underscore_named_value-naming.
|
2014-07-23 14:07:45 +04:00 |
|
Ruben Ayrapetyan
|
bc0c7824c2
|
Renaming ecma_* identifiers from 'camelCase' to 'underscore_naming'.
|
2014-07-23 12:54:56 +04:00 |
|
Ruben Ayrapetyan
|
8e08d5f6d6
|
Partially implementing ECMA 'Absract equality comparison' (11.9.3).
|
2014-07-22 22:13:51 +04:00 |
|
Ruben Ayrapetyan
|
f0abfbb31b
|
Refinement of exception handling code in 'multiplication' and 'assignment' opcode handlers.
|
2014-07-22 17:23:29 +04:00 |
|
Ruben Ayrapetyan
|
739d19be5b
|
Implementing 'multiplication' opcode handler and unit test for the opcode.
|
2014-07-21 21:59:15 +04:00 |
|
Ruben Ayrapetyan
|
9b2b248728
|
Partially implementing ToNumber operation.
|
2014-07-21 20:36:08 +04:00 |
|
Ruben Ayrapetyan
|
1175526d52
|
Fixing value copying/value leakage issues.
|
2014-07-21 17:39:39 +04:00 |
|
Ruben Ayrapetyan
|
aa6bed0c4c
|
Implementing ecma_CompareZtStringToEcmaString - zero-terminated- and ecma- strings compare routine.
|
2014-07-18 14:07:07 +04:00 |
|
Ruben Ayrapetyan
|
f7abe7190d
|
Implementing var_decl opcode.
|
2014-07-17 22:02:07 +04:00 |
|
Ruben Ayrapetyan
|
2598d01105
|
Renaming ecma_IsUndefinedValue -> ecma_IsValueUndefined and the like; introducing ecma_IsCompletionValueNormal{True,False} helpers.
|
2014-07-16 21:42:49 +04:00 |
|
Ruben Ayrapetyan
|
c8605bb4d1
|
Renaming ecma_GC*Property to ecma_Free*Property and moving them to ecma-helpers.c; introducing ecma_CreateNamedProperty, ecma_GetNamedProperty, ecma_GetNamedDataProperty, ecma_FreeProperty (extracted from ecma_GCRun), ecma_DeleteProperty; removing length argument of ecma_NewEcmaString helper.
|
2014-07-16 21:37:24 +04:00 |
|
Ruben Ayrapetyan
|
60063683aa
|
Rename ecma_GCValue to ecma_FreeValue and move it to ecma-helpers-value.c. Introduce ecma_CopyValue.
|
2014-07-16 17:12:45 +04:00 |
|