Ruben Ayrapetyan
3190089818
Introducing getter and setter for named data property's value field, ecma_named_data_property_assign_value interface; using boolean flags for 'Writable', 'Enumerable' and 'Configurable' attributes values while passing them in routine arguments.
2014-12-03 15:45:58 +03:00
Ruben Ayrapetyan
0d870a1e74
Representing ecma_value_t as integer instead of structure with bit-fields, adding corresponding field accessors.
2014-11-27 17:34:03 +03:00
Ruben Ayrapetyan
815309c7e9
Introducing ecma_get_[type]_from_value, ecma_get_[type]_from_completion_value and ecma_get_completion_value_value interfaces.
2014-11-27 14:19:53 +03:00
Ruben Ayrapetyan
7b3eaf146b
Introducing ecma_is_value_{number,string,object} for checking type of ecma-value.
2014-11-20 14:21:33 +03:00
Ruben Ayrapetyan
477a694622
Introducing ECMA_GET_NON_NULL_POINTER macro that is ECMA_GET_POINTER without NULL pointer check.
...
Replacing invocations of ECMA_GET_POINTER passing non-NULL argument with introduced ECMA_GET_NON_NULL_POINTER.
2014-11-13 19:09:13 +03:00
Ruben Ayrapetyan
0e10e97120
Returning bool value instead of simple boolean completion value from ecma_op_has_binding.
2014-11-13 18:08:23 +03:00
Ruben Ayrapetyan
ac710dd0b5
Implementing [[ThrowTypeError]] built-in Function object.
2014-10-30 17:22:33 +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
efe713f2a9
Fixing memory leak in ecma_op_function_construct.
2014-10-15 16:11:04 +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
679d86dc8f
Passing 'this' argument to built-in routines.
2014-09-24 23:19:32 +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
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
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
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