Ruben Ayrapetyan
dafbaa742e
Adding configuration option for ECMA exception support.
2014-09-08 19:09:34 +04:00
Ruben Ayrapetyan
31b5451b50
Moving label descriptor from ecma_completion_value_t to separate structure on heap (fixing performance degradation that occured in commit 5d92544db57203603a6ed53b5c18562065a70b77).
2014-09-04 14:27:40 +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
164350b369
Introducing constructor for label completion values (for 'break' and 'continue' completion types).
2014-08-28 23:08:31 +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
d286a93e2c
Replacing 'varg' opcode with 'meta' opcode with corresponding type.
2014-08-27 19:35:56 +04:00
Ruben Ayrapetyan
6cfcedb053
Evaluation of expressions passed in arguments lists just before corresponding 'varg' opcodes.
2014-08-26 21:39:54 +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
dca9bcc387
Removing ECMA_TYPE__COUNT enum value; fixing comment to ecma_copy_value
2014-08-22 17:50:57 +04:00
Ilmir Usmanov
a2fe594d0f
Merge branch 'geppetto'
2014-08-19 16:22:39 +04:00
Ilmir Usmanov
126b8814a8
Add rules to check switch-cases
2014-08-19 16:22:05 +04:00
Ruben Ayrapetyan
bcddffbefb
Preparations to lazy conversion of Number to String: introducing ECMA_STRING_CONTAINER_HEAP_NUMBER container type for ecma_string_t.
2014-08-18 16:10:54 +04:00
Ruben Ayrapetyan
f638c381a3
Introducing ecma-values collection. Implementing ecma-strings collection through ecma-values collection.
2014-08-14 21:19:56 +04:00
Ruben Ayrapetyan
c831912ae5
Replacing ecma_array_first_chunk_t with ecma_string_t for ecma-strings.
2014-08-13 19:21:25 +04:00
Ruben Ayrapetyan
839ad7e4b4
Fixing cppcheck warning about comma in return statement (libecmaobjects/ecma-helpers-value.c).
2014-08-11 22:17:35 +04:00
Ruben Ayrapetyan
48cff24f08
Styles fixes in libecmaobjects, libecmaoperations: indentation and braces rules.
2014-08-11 22:05:59 +04:00
Ruben Ayrapetyan
59940fb648
Style fixes in liballocator, libecmaobjects, libecmaoperations: now lines are not longer than 120 characters.
2014-08-11 19:51:40 +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
8ce1ef3c8b
Removing trailing whitespace in liballocator, libecmaobjects and libecmaoperations.
2014-08-11 15:59:19 +04:00
Ruben Ayrapetyan
1ab3eaa389
Optimizing ecma_get_pointer/ecma_set_pointer, introducing ecma_set_non_null_pointer. loop_arithmetics_1kk.js benchmark: 3.450 -> 3.025.
2014-08-08 15:22:05 +04:00
Ruben Ayrapetyan
e3cd8ee942
Generational mark and sweep GC.
2014-08-07 14:54:32 +04:00
Ruben Ayrapetyan
3ee0e8a8a5
Style fixes regarding 'empty' value: introducing ecma_is_empty_completion_value, reducing usage of the 'empty' value, listing possible usage cases of the 'empty' value in the comment to it's definition.
2014-07-28 21:21:31 +04:00
Ruben Ayrapetyan
b7a3a13bc9
Implementing register variables.
2014-07-24 18:13:32 +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
f0abfbb31b
Refinement of exception handling code in 'multiplication' and 'assignment' opcode handlers.
2014-07-22 17:23:29 +04:00
Ruben Ayrapetyan
739d19be5b
Implementing 'multiplication' opcode handler and unit test for the opcode.
2014-07-21 21:59:15 +04:00
Ruben Ayrapetyan
9b2b248728
Partially implementing ToNumber operation.
2014-07-21 20:36:08 +04:00
Ruben Ayrapetyan
1175526d52
Fixing value copying/value leakage issues.
2014-07-21 17:39:39 +04:00
Ruben Ayrapetyan
0ff6d7ae9e
Fixing ecma_CopyValue: adding missing breaks in switch.
2014-07-21 16:55:39 +04:00
Ruben Ayrapetyan
f7abe7190d
Implementing var_decl opcode.
2014-07-17 22:02:07 +04:00
Ruben Ayrapetyan
2598d01105
Renaming ecma_IsUndefinedValue -> ecma_IsValueUndefined and the like; introducing ecma_IsCompletionValueNormal{True,False} helpers.
2014-07-16 21:42:49 +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
56f731a3f2
Introducing ecma_MakeThrowValue constructor for throw completion values.
2014-07-15 21:41:47 +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