Ruben Ayrapetyan
05cf2dbe04
Providing cp_minimal build mode.
...
In the mode built-in objects except Global, Object, Object.prototype, Function,
Function.prototype, [[ThrowTypeError]] and CompactProfileError are disabled.
Making default builds (without cp cp_minimal modes set) to not define CONFIG_ECMA_COMPACT_PROFILE.
Removing some tests that depend on 'eval'-like functionality or CompactProfileError built-in from pre-commit testing.
2014-10-31 18:37:55 +03:00
Ruben Ayrapetyan
73084cb976
Fixing GetBindingValue operation for immutable bindings.
2014-10-31 16:03:32 +03:00
Ruben Ayrapetyan
ac710dd0b5
Implementing [[ThrowTypeError]] built-in Function object.
2014-10-30 17:22:33 +03:00
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