Commit Graph

166 Commits

Author SHA1 Message Date
Ruben Ayrapetyan 4160262ce8 Implementing EvalError, RangeError, SyntaxError, URIError built-ins and corresponding prototype built-in objects. 2014-10-30 14:28:44 +03:00
Ruben Ayrapetyan 6991b26e04 Implementing TypeError and TypeError.prototype built-ins. Fixing Error.prototype.toString implementation. 2014-10-29 21:15:36 +03:00
Ruben Ayrapetyan fc751b0f15 Arranging JERRY_UNIMPLEMENTED macro usages and adding comments to each invocation of the macro. 2014-10-27 19:48:03 +03:00
Ruben Ayrapetyan b773ef074c Fixing exception handling in ecma_op_to_number. 2014-10-24 21:58:53 +04:00
Ruben Ayrapetyan 2d032a30dc Extracting ecma_number_trunc helper from ecma_op_number_remainder. 2014-10-20 20:48:36 +04:00
Ruben Ayrapetyan 3eed2d0d4c Renaming ecma_op_number_{add,subtract,multiply,divide} -> ecma_number_{add,subtract,multiply,divide}.
Moving ecma_number_{add,subtract,multiply,divide} to src/libecmaobjects/ecma-helpers-number.c.
Moving abs, sqrt, ln, exp, calculation helpers from src/libecmabuiltins/ecma-builtin-math-object.c to src/libecmaobjects/ecma-helpers-number.c.
2014-10-20 18:48:10 +04:00
Ruben Ayrapetyan 8f5160d6bf Implementing ToObject for number arguments. 2014-10-20 15:39:09 +04:00
Ruben Ayrapetyan 1b74687989 Implementing ToObject for boolean arguments. 2014-10-20 15:26:24 +04:00
Ruben Ayrapetyan e54023caf2 Throwing CompactProfileError in cases required by Compact Profile. 2014-10-16 21:26:23 +04:00
Ruben Ayrapetyan c7eec63e28 Fixing array instance construction routine: setting prototype to Array.prototype built-in object. 2014-10-15 19:31:30 +04:00
Ruben Ayrapetyan 9b178f5ab0 Implementing 'length' property of String instances. 2014-10-15 19:02:41 +04:00
Ruben Ayrapetyan b3f45c5c82 Fixing ecma_op_abstract_equality_compare. 2014-10-15 16:56:58 +04:00
Ruben Ayrapetyan e5b0bb1a0d Fixing ecma_op_abstract_equality_compare. 2014-10-15 16:56:58 +04:00
Ruben Ayrapetyan efe713f2a9 Fixing memory leak in ecma_op_function_construct. 2014-10-15 16:11:04 +04:00
Ruben Ayrapetyan 2a8adf7698 Fixing memory leak in ecma_op_string_object_get_own_property. 2014-10-15 16:11:04 +04:00
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 7819adcf99 Implementing ToObject routine for case argument is string literal. 2014-10-13 13:29:29 +04:00
Ruben Ayrapetyan fc69e52ca3 Fixing memory leak in ecma_op_string_object_get_own_property. 2014-10-13 13:29:29 +04:00
Ruben Ayrapetyan 76bebfc532 Fixing GetValue / PutValue routines for primitive base values (access after ToObject). 2014-10-13 13:29:29 +04:00
Ruben Ayrapetyan 0e22967653 Fixing Arguments object construction routine. 2014-09-26 19:36:14 +04:00
Ruben Ayrapetyan add24b93fe Fixing various FIXMEs that depend on Function.prototype built-in. 2014-09-26 19:36:14 +04:00
Ruben Ayrapetyan f82ae90040 Fixing various FIXMEs that depend on built-in Object constructor and Object.prototype. 2014-09-26 18:33:50 +04:00
Ruben Ayrapetyan a0a2ec2cea Replacing items of ecma_object_class_t with corresponding ecma magic strings. 2014-09-26 18:04:42 +04:00
Ruben Ayrapetyan ba2eeb84af Implementing String.prototype.toString and String.prototype.valueOf built-in routines. 2014-09-25 21:04:24 +04:00
Ruben Ayrapetyan c235021147 Implementing [[DefaultValue]] general objects' method. 2014-09-25 18:37:38 +04:00
Ruben Ayrapetyan c2ca158d19 Implementing Array built-in. 2014-09-25 14:58:45 +04:00
Ruben Ayrapetyan c06c6a5ed8 Introducing ecma_free_property_descriptor. 2014-09-25 14:19:09 +04:00
Ruben Ayrapetyan 679d86dc8f Passing 'this' argument to built-in routines. 2014-09-24 23:19:32 +04:00
Ruben Ayrapetyan c4ec42635b Implementing String's constructor and [[GetOwnProperty]]. 2014-09-24 21:31:24 +04:00
Ruben Ayrapetyan 25ec2bea17 Refactoring function call operations to return 'normal' completion values instead of 'return' completion values. Removing ECMA_FUNCTION_CALL macro. 2014-09-24 14:27:27 +04:00
Ruben Ayrapetyan 4798807451 Fixing remainder calculation operation (ecma_op_number_remainder). 2014-09-23 17:22:01 +04:00
Ruben Ayrapetyan 1fed738217 Replacing ecma_builtin_is_*_object interfaces with ecma_builtin_is (object, builtin_id), and ecma_builtin_get_*_object with ecma_builtin_get (builtin_id). 2014-09-22 21:46:26 +04:00
Ruben Ayrapetyan 1e642fd527 Implementing ToPropertyDescriptor and FromPropertyDescriptor ECMA operations. 2014-09-22 19:31:35 +04:00
Ruben Ayrapetyan a3ca61fe0e Setting Function's [[Get]] method to default [[Get]] method as they're behaviours for Function objects are equivalent. 2014-09-22 15:49:49 +04:00
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 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 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 11cf22f06c Introducing 'ecmabuiltins' component and interface for instantiating built-in properties. 2014-09-17 21:12:05 +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 24fc505440 Introducing ecma_is_magic_string routine. 2014-09-17 18:00:11 +04:00
Ruben Ayrapetyan 59ef3bf074 Little refactoring of control paths in general objects' [[DefineOwnProperty]] to satisfy cppcheck's requirements. 2014-09-17 15:37:12 +04:00
Ruben Ayrapetyan 5df12d2e04 Fixing NULL pointer dereference in PutValue routine. 2014-09-17 15:24:48 +04:00
Ruben Ayrapetyan fbcd393962 Adding configuration flag indicating whether Global Environment is bound to Global Object or it is simple declarative lexical environment. 2014-09-08 19:16:30 +04:00
Ruben Ayrapetyan b9fd80ce36 Fixing object declaration and function expression opcode handlers; adding unit test that declares object and operates on the object's properties. 2014-09-04 21:02:29 +04:00
Ruben Ayrapetyan 50371ddf20 Implementing Array construction routine; adding unit test on array operations. 2014-09-03 17:30:03 +04:00
Ruben Ayrapetyan b275218e63 Fixing [[DefineOwnProperty]] routine of general object. 2014-09-02 22:34:50 +04:00
Ruben Ayrapetyan d45748a001 Implementing [[Get]] routine for function objects. 2014-09-02 22:34:38 +04:00