Ruben Ayrapetyan
e55ceb22f5
Implementing [[HasInstance]] for non-bound functions.
2014-09-19 21:14:14 +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
7fc3b178d8
Introducing ecma_is_string_magic, ecma_init and ecma_finalize interfaces, 'magic-string' container type for ecma-strings. Renaming ecma_is_magic_string to ecma_is_zt_string_magic. Moving magic-string related routines to ecma-helpers-string.c.
2014-09-19 12:08:19 +04:00
Ruben Ayrapetyan
9a667596de
Implementing constructor of Function object for built-in routines.
2014-09-18 19:48:43 +04:00
Ruben Ayrapetyan
f402e42d2f
Moving Global object related routines to libecmabuiltins component. Introducing ecma_init_builtins and ecma_finalize_builtins routines.
2014-09-18 13:55:56 +04:00
Ruben Ayrapetyan
2edc921be7
Introducing has_non_instantiated_built_in_properties flag in ecma_object_t and 'built-in function' object type.
2014-09-17 20:05:15 +04:00
Ruben Ayrapetyan
d45748a001
Implementing [[Get]] routine for function objects.
2014-09-02 22:34: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
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
227c09fb3e
Adding target counter and depth level to 'break' and 'continue' completion values.
2014-08-28 22:56:29 +04:00
Ruben Ayrapetyan
bf5bda11ed
Implementing 'construct_n' opcode handler.
2014-08-26 17:47:14 +04:00
Ruben Ayrapetyan
90c006771f
One more fix in Function objects' [[Construct]] routine
2014-08-22 21:16:43 +04:00
Ruben Ayrapetyan
e6c10655c5
Fixing Function objects'[[Construct]] routine
2014-08-22 21:01:58 +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
5713373279
Partial implementation of [[Construct]] routine for Function objects
2014-08-22 16:56:00 +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
b582d56ecb
Implementing opfunc_decl_1, opfunc_decl_2.
2014-08-15 18:30:47 +04:00
Ruben Ayrapetyan
4de3da90a5
Implementing function's argument variables instantiation during function call. Implementing function declaration routine.
2014-08-15 17:30:11 +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
c3cc674fef
Definition of function object's 'length' property in ecma_op_create_function_object.
2014-08-13 15:17:12 +04:00
Ruben Ayrapetyan
bc34fa3be6
Renaming src/libecmaoperations/ecma-objects-properties.[ch] -> src/libecmaoperations/ecma-objects.[ch].
2014-08-12 17:09:46 +04:00
Ruben Ayrapetyan
48cff24f08
Styles fixes in libecmaobjects, libecmaoperations: indentation and braces rules.
2014-08-11 22:05:59 +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
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
e3cd8ee942
Generational mark and sweep GC.
2014-08-07 14:54:32 +04:00
Ruben Ayrapetyan
411791ea32
Fix: remove unnecessary ecma_ref_object.
2014-08-05 17:59:20 +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
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
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
b059212e32
Implementing IsCallable operation.
2014-07-30 17:48:28 +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