Commit Graph

100 Commits

Author SHA1 Message Date
Ruben Ayrapetyan f8907573dd Implementing 'func_expr_n' opcode handler. 2014-08-26 22:15:40 +04:00
Ruben Ayrapetyan bf5bda11ed Implementing 'construct_n' opcode handler. 2014-08-26 17:47:14 +04:00
Ruben Ayrapetyan dc3f529307 Implementing 'typeof' opcode handler. 2014-08-26 12:43:13 +04:00
Ruben Ayrapetyan 704c26ff80 Setting ThisBinding of the Global Environment to the Global Object. 2014-08-26 12:43:10 +04:00
Ruben Ayrapetyan 6fbf3e4eed Implementing accessor properties operations in general objects' [[Get]] and [[Put]] routines. 2014-08-22 21:27:46 +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 bf1841ce54 Full implementation of GetValue, PutValue operations. 2014-08-22 20:27:07 +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 80e6cd3a60 Fixing ecma_create_arguments_object: adding deref for allocated ecma-string 2014-08-22 18:47:46 +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
Ruben Ayrapetyan a8486b01ed Partial implementation of 'Object' object construction routine 2014-08-22 17:18:29 +04:00
Ruben Ayrapetyan 3bcf02137e Adding stub for Array construction routine 2014-08-22 17:17:17 +04:00
Ruben Ayrapetyan 5713373279 Partial implementation of [[Construct]] routine for Function objects 2014-08-22 16:56:00 +04:00
Ruben Ayrapetyan b1b6ae5a41 Partial implementation of [[HasInstance]] ecma-object's operation 2014-08-22 15:24:09 +04:00
Ruben Ayrapetyan f7cdb454ed Implementing ToString operation (ecma_op_to_string) 2014-08-22 14:40:58 +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 284e7fc91b Renaming prop_access opcode to prop_getter; introducing prop_setter opcode; implementing property getter/setter opcode handlers. 2014-08-20 16:34: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
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 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 04c6cb30c7 Adding ecma_is_lexical_environment_global helper. 2014-08-15 17:26:49 +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 cf098ad4ac Adding missing 'break's in ecma_op_{create,initialize}_immutable_binding. 2014-08-14 21:36:33 +04:00
Ruben Ayrapetyan 1d70fe0a37 Fixing ecma_op_abstract_equality_compare 2014-08-14 20:03:50 +04:00
Ruben Ayrapetyan 86a0c701df Partial stub for Int32 operation. 2014-08-14 19:15:25 +04:00
e.gavrin a075051d6f Add opfunc_equal_value_type and opfunc_not_equal_value_type opcode handlers. Add test. 2014-08-14 18:04:43 +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 c831912ae5 Replacing ecma_array_first_chunk_t with ecma_string_t for ecma-strings. 2014-08-13 19:21:25 +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 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 a886053e54 Extracting ecma_op_object* routines to ecma_op_general_object_*. Redefining ecma_op_object* interface to be usable for all object types (not only for general objects). 2014-08-12 18:11:56 +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 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 1b84ca8412 Style fix: indentation in src/libecmaoperations/ecma-objects-properties.c. 2014-08-11 22:10:55 +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 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 99c15ef802 Implementing object model, memory allocators finalization routines. Adding assertion that all memory was freed before exit. 2014-08-07 19:24:32 +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 8260cc0214 Implementing case 3.b in PutValue operation. 2014-08-01 12:48:03 +04:00
Ruben Ayrapetyan 2c85a55c85 Introducing Global Environment constructor; using Global Environment as starting lexical environment. 2014-07-31 17:21:47 +04:00
Ruben Ayrapetyan bfad8e897d Implementing ECMA-262 v5 10.2.1.2 operations (object environment record's CreateMutableBinding, SetMutableBinding, etc.). 2014-07-31 17:13:20 +04:00