Ruben Ayrapetyan
557a4b6460
Removing ecma_op_object_has_property and ecma_op_general_object_has_property routines.
2014-12-03 22:48:37 +03:00
Ruben Ayrapetyan
90fccc04ba
Passing property descriptors by const ref instead of by value.
2014-12-03 21:57:11 +03:00
Ruben Ayrapetyan
8998860c7b
Extract non-inlineable long path from ecma_op_object_get_own_property.
2014-12-03 19:25:16 +03:00
Ruben Ayrapetyan
ef012d9cd4
Adding lcache lookup and insert to ecma_find_named_property; removing lcache insert from ecma_op_object_get_own_property.
2014-11-28 21:27:52 +03:00
Ruben Ayrapetyan
76ed780895
Introducing cache for property by name lookup (LCache).
2014-11-17 18:52:48 +03:00
Ruben Ayrapetyan
857e66fb98
Revert "Calling routine for instantiating built-ins' properties only if property name is a magic string."
...
Reverting commit 1dd7d626967110c3a0f14c40479bc054baf04b3f because of performance degradation on ARM Linux.
The degradation requires further investigation.
2014-11-14 18:04:45 +03:00
Ruben Ayrapetyan
82fe067fc9
Calling routine for instantiating built-ins' properties only if property name is a magic string.
2014-11-14 14:40:36 +03:00
Ruben Ayrapetyan
d93a4ec36c
Replacing switches with pointer tables in some ecma_op_object_* routines.
2014-11-12 15:17:20 +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
c4ec42635b
Implementing String's constructor and [[GetOwnProperty]].
2014-09-24 21:31:24 +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
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
50371ddf20
Implementing Array construction routine; adding unit test on array operations.
2014-09-03 17:30:03 +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
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
b1b6ae5a41
Partial implementation of [[HasInstance]] ecma-object's operation
2014-08-22 15:24:09 +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
4fe85cdd1a
Full implementation of [[DefineOwnProperty]] for array objects.
2014-08-13 14:55:40 +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