Ruben Ayrapetyan
557df54f9d
Registering temporary variables arrays in ecma-stack frames, starting mark traverse from them during GC.
2015-01-15 18:45:37 +03:00
Ruben Ayrapetyan
6bb39bb8ea
Introducing 'try to give memory back' callback for heap allocator to use upon allocation request that can not be satisfied by the allocator.
2014-12-18 22:25:22 +03:00
Ruben Ayrapetyan
c9b73da82d
Changing dynamic sized (syntactically) array to constant-sized array in ecma_gc_run.
2014-12-17 21:29:45 +03:00
Ruben Ayrapetyan
ee7ac6602b
Fixing insertion to lookup cache: removing possibility of invalidation of entry during it's initialization, skipping empty entries during search for entry containing specified property.
2014-12-04 17:03:14 +03:00
Ruben Ayrapetyan
3b1c6b5c37
Fixing an issue in garbage collection module: correctly updating 'may reference younger objects' flag.
2014-12-04 12:38:06 +03:00
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
5b8077b976
Storing provideThis flag and pointer to binding object immediately in descriptor of object-bound lexical environment.
2014-11-21 20:37:04 +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
34430f0831
Passing object to named property free routines.
...
Adding argument, pointing to object that contains the property to be freed, to ecma_free_property, ecma_free_named_data_property and ecma_free_named_accessor_property.
Also, adding static qualifier to ecma_free_named_data_property, ecma_free_named_accessor_property and ecma_free_internal_property.
2014-11-17 17:06:06 +03:00
Ruben Ayrapetyan
2e94dc1341
Fixing an issue introduced in commit 4b3385fb920a60c9d7db66f9798355430ca4036a (restoring a check for NULL pointer).
2014-11-13 20:57:11 +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
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
9a15286aad
Fixing ecma_gc_is_object_may_ref_younger_objects.
2014-10-13 18:35:27 +04:00
Ruben Ayrapetyan
c4ec42635b
Implementing String's constructor and [[GetOwnProperty]].
2014-09-24 21:31:24 +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
9a667596de
Implementing constructor of Function object for built-in routines.
2014-09-18 19:48:43 +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
1d02085dc6
Packing ecma_object_t to 8 bytes.
2014-08-29 17:38:05 +04:00
Ruben Ayrapetyan
8e14f32806
Introducing getters/setters for ecma_object_t structure.
2014-08-29 15:53:07 +04:00
Ruben Ayrapetyan
50554a81e4
Implementing Arguments object construction, [[Get]], [[GetOwnProperty]], [[DefineOwnProperty]], [[Delete]] routines.
2014-08-19 19:17:03 +04:00
Ruben Ayrapetyan
507b91973a
Renaming ecma_array_first_chunk_t -> ecma_collection_header_t; ecma_array_non_first_chunk_t -> ecma_collection_chunk_t.
2014-08-13 20:58:17 +04:00
Ruben Ayrapetyan
613c43cc14
Fixing internal properties handling in ecma_gc_mark.
2014-08-13 20:18:41 +04:00
Ruben Ayrapetyan
48cff24f08
Styles fixes in libecmaobjects, libecmaoperations: indentation and braces rules.
2014-08-11 22:05:59 +04:00
Ruben Ayrapetyan
b02eefd4ae
Style fixes in liballocator, libecmaobjects, libecmaoperations: space between function name and opening parenthesis, no space after opening parenthesis/before closing parenthesis.
2014-08-11 19:28:14 +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
7ad6c25bb2
Fix invocation of GC for non-zero generations.
2014-08-07 21:10:36 +04:00
Ruben Ayrapetyan
6d7c2120ef
Fix ecma_gc_mark routine: checking properties, located immediately in an object descriptor.
2014-08-07 18:28:46 +04:00
Ruben Ayrapetyan
e3cd8ee942
Generational mark and sweep GC.
2014-08-07 14:54:32 +04:00
Ruben Ayrapetyan
7984c7e65f
Fixing comment about an object's maximum reference counter. Adding runtime check for the counter's overflow.
2014-07-28 15:17:01 +04:00
Ruben Ayrapetyan
1796b9d903
Renaming rest camelCase-named identifiers according to underscore_named_value-naming.
2014-07-23 14:07:45 +04:00
Ruben Ayrapetyan
bc0c7824c2
Renaming ecma_* identifiers from 'camelCase' to 'underscore_naming'.
2014-07-23 12:54:56 +04:00
Ruben Ayrapetyan
2d4ed154ee
Removing m_ prefix from identifiers (m_ValueType -> ValueType, ...).
2014-07-23 11:41:58 +04:00
Ruben Ayrapetyan
c8605bb4d1
Renaming ecma_GC*Property to ecma_Free*Property and moving them to ecma-helpers.c; introducing ecma_CreateNamedProperty, ecma_GetNamedProperty, ecma_GetNamedDataProperty, ecma_FreeProperty (extracted from ecma_GCRun), ecma_DeleteProperty; removing length argument of ecma_NewEcmaString helper.
2014-07-16 21:37:24 +04:00
Ruben Ayrapetyan
6918db2f59
Replacing 'ecma_Free' prefix in ecma_Free{Object,Property,Number,ArrayFirstChunk,ArrayNonFirstChunk} to 'ecma_Dealloc'.
2014-07-16 21:17:43 +04:00
Ruben Ayrapetyan
60063683aa
Rename ecma_GCValue to ecma_FreeValue and move it to ecma-helpers-value.c. Introduce ecma_CopyValue.
2014-07-16 17:12:45 +04:00
Ruben Ayrapetyan
4395da05d3
Renaming ecma_Object_t::u_Attributes to u.
...
Renaming ecma_CompletionValue_t:: completion_type to type, completion_value to value.
Introducing ECMA_TARGET_ID_RESERVED value of ecma_CompletionValue_t::target when it is unused.
Adding ecma_Reference_t type for ECMA-reference.
Introducing some constructors and helpers for ecma-values.
Introducing ecma_FindNamedProperty helper.
Removing ecma_SyntacticReference_t type.
Implementing ecma operation GetIdentifierReference.
Stubs and partial implementation for GetValue, SetValue, lexical environment operations (HasBinding, etc.).
2014-07-15 19:27:15 +04:00
e.gavrin
3fde3400f4
manualy generated blinky opcodes
2014-07-03 16:23:25 +04:00