38 Commits

Author SHA1 Message Date
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