Ruben Ayrapetyan
6430a104b3
ecma_ref_ecma_string -> ecma_copy_or_ref_ecma_string: copying ecma-string when the string's reference counter reaches maximum value.
2014-10-13 18:59:07 +04:00
Ruben Ayrapetyan
c06c6a5ed8
Introducing ecma_free_property_descriptor.
2014-09-25 14:19:09 +04:00
Ruben Ayrapetyan
c4ec42635b
Implementing String's constructor and [[GetOwnProperty]].
2014-09-24 21:31:24 +04:00
Ruben Ayrapetyan
f46853bdd8
Introducing interfaces for invoking built-in functions and constructors.
...
Implementing property instantiation routine dispatcher for Global object.
Adding instantiation for 'undefined', 'NaN', 'Infinity' and built-in routine
properties of the Global Object. Implementing isNaN and isFinite built-in routines.
2014-09-19 18:10:49 +04:00
Ruben Ayrapetyan
1dd631178f
Renaming ecma_get_object_has_non_instantiated_builtins -> ecma_get_object_is_builtin, ecma_set_object_has_non_instantiated_builtins -> ecma_set_object_is_builtin.
2014-09-19 17:51:40 +04:00
Ruben Ayrapetyan
9a667596de
Implementing constructor of Function object for built-in routines.
2014-09-18 19:48:43 +04:00
Ruben Ayrapetyan
11cf22f06c
Introducing 'ecmabuiltins' component and interface for instantiating built-in properties.
2014-09-17 21:12:05 +04:00
Ruben Ayrapetyan
0a6e1a83f8
Renaming ecma_compare_ecma_string_to_ecma_string to ecma_compare_ecma_strings.
2014-09-02 20:16:41 +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
5d2b535cec
Implementing 'with' opcode; replacing 'end_with' opcode with 'meta' opcode of corresponding type.
2014-08-27 21:38:53 +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
50554a81e4
Implementing Arguments object construction, [[Get]], [[GetOwnProperty]], [[DefineOwnProperty]], [[Delete]] routines.
2014-08-19 19:17:03 +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
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
63133c247f
Initializing [[FormalParameters]] internal property of Function object in ecma_op_create_function_object.
2014-08-13 21:47:56 +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
567d54f7e5
Move ecma-string helpers from ecma-helpers.c to ecma-helpers-string.c
2014-08-13 17:01:05 +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
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
5e1c4b533f
Fix ecma_copy_ecma_string_chars_to_buffer.
2014-08-07 18:36:05 +04:00
Ruben Ayrapetyan
e3cd8ee942
Generational mark and sweep GC.
2014-08-07 14:54:32 +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
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
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
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
b3b4c74cbe
Renaming mem_* identifiers from 'camelCase' to 'underscore_naming'.
2014-07-23 12:54:45 +04:00